有符号是表示有正负号,无符号是表示只有0和正数。范围有区别。
通常,大多数数字默认都使有符号的,C也允许无符号数和有符号数之间的转换,转换原则是基本的位表示保持不变。因此在一台二进制补码机器上,当从无符号数转换为有符号数时,效果就是应用U2Tw,而从有符号转换为无符号数时,就是应用函数T2Uw,其中w表示数据类型的位数。T2Uw(x) = (x<0)?(x+2w...
00001表示一,0…00010表示二,如此等等直到无限,但是负数怎么办?为了表示有符号数,大多数计算机系统使用二进制补码计数系统(two’s complement numbering system)。有符号数采用的表示法给这些数添加了一些基本的约束,因此,为了更有效地使用有符号数和无符号数,了解它们的表示法之间的区别是非常重要的...
int 是整数类型,用于定义变量的类型,有符号,unsigned int 是无符号的整数类型,直白点说有符号无符号整型就是能不能存放负数。根据程序编译器的不同,整形定义的字节数不同。51类单片机的C语言中,int代表2个byte(16位);如果是32位ARM处理器的C语言中,则int代表4个byte(32位)。(如32位XP)...