C语言(VC6.0)的无符号长整型是如何左移的,当左移的位数超过该数值类型的最大位数是怎么样处理的?求大神解答,不甚感激
2006-08-06长度相同的有符号与无符号整型数间,远洋赋值,但数值有时会有变化。比如:void main()﹛int b=-1unsigned aprintf("%d->%u\n",b,a)﹜结果是-1-〉65535出现这种情况很正常。 在C语言中任何一种类型的...
长度相同的有符号与无符号整型数间,远洋赋值,但数值有时会有变化。
比如:void main()
﹛int b=-1
unsigned a
printf("%d->%u\n",b,a)
结果是-1-〉65535
出现这种情况很正常。 在C语言中任何一种类型的变量都可以转换成另外一种类型的变量, 可以强制转换, 也可以由系统隐含转换。
在C语言中, 整数的最高位是作为符号位使用,表示数的正负的, 而无符号整数的最高位是作为数据位来使用的。 例如: 对于16位变量来说, 整型变量最高位是符号位, 表示数的范围为: -32368