C语言中有符号int和无符号int区别在哪里?

C语言中有符号int和无符号int区别在哪里?

区别在于能不能表示负数,有符号可以表示负整数,无符号则不行,只能表示非负整数
另外,表示的数的范围不同,有符号int的范围(如果使用32位的编译器)通常是【-2的31次方】到【2的31次方-1】(十六进制表示为0x80000000到0x7fffffff),无符号int的范围则是【0】到【2的32次方-1】(十六进制表示为0x00000000到0xffffffff)
从二进制的角度上说,有符号int就是以最高位为符号位(计算机二进制是没有正负号的,只有0和1,因此最高位为0表示正整数或0,最高位为1表示负整数),使用补码的形式保存负数,而无符号int不用考虑符号的问题,它的二进制最高位仍是有效数位而不是符号位
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-29
float p1;
int p2;
p2=(int)p;
上面两个是声明变量的格式;
第三行中int表示把p1的内容强制转换为int型(但p1本身还是浮点型)
其实不太清楚你到底想问什么。--!
相似回答