在计算机中给定一个二进制数,我们不能直接给出对应的十进制数。因为我们不能确定它是有符号数还是无符号数。这一步是在编译器中确定的。
eg:给定 11111111 11111111 ;
在16位平台下:
如果它是以unsigned int 存放进来的。那么它的值为65535();
如果它是以int存放进来的,那么它的值为-1;
数在计算机中都是以该数的补码的二进制形式存放的,
eg:int a=-1;
a的原码为1000 0000 0000 0001;
补码为1111 1111 1111 1111;