c语言中 int unsigned 类型转换

C语言中 int和unsigned 进行运算的时候是否进行自动类型转换?
int是有符号的 unsigned是无符号的 级别应该比int高 那么int是否自动转换成unsigned

是的,int会自动转换成unsigned类型;
转换规则:存储长度较短的转换成存储长度较长的,并且不丢失信息;
常见类型转换顺序:char 、short -> int -> unsigned -> long int -> double <- float
即运算中有double类型,则其他类型会全部转换成double类型。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-21
是的,int会自动转换成unsigned类型;
转换规则:存储长度较短的转换成存储长度较长的,并且不丢失信息;
第2个回答  2012-05-21
int与unsigned运算时,如果得到的结果是unsigned型(比如赋值给unsigned型变量),int则会被转成unsigned型。如果赋值给int型则不转换。
第3个回答  推荐于2017-09-29
整型的每一种都有无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的正整数数据。
比如你要装换可以浮点型加(bobule)道理一样
相似回答