C语言整数运算
c语言整数特点
- 分为有符号和无符号
- 有符号和无符号运算,会将有符号转换为无符号
- 默认整数数字都是有符号的
例子
说明:在表达式中没有u或强制类型转换,会按照有符号来运算
关系表达式 | 类型 | 结果 | 说明 |
---|---|---|---|
0==0U | 无符号 | 1 | 00…0B=00…0B |
-1<0 | 有符号 | 1 | 11…1B<00…0B |
-1<0U | 无符号 | 0 | 11…1B>00…0B |
2147483647>-2147483647-1 | 有符号 | 1 | 01…1B>10…0B |
2147483647U>-2147483647-1 | 无符号 | 0 | 01…1B<10…0B |
2147483647>(int)2147483648U | 有符号 | 1 | 01…1B>10…0B |
-1>-2 | 有符号 | 1 | 11…1B>10…10B |
(unsigned)-1>-2 | 无符号 | 1 | 11…1B>10…10B |