[求助]关于数的补码问题
大家好!请问—1在内存单元中的存放形式(以补码形式存放) 为什么是:1111111111111111,其中有16个1,第一个1代表负号。
第一贴啊!!
回楼主:
其实数据在内存中是以二进制形式存放的,而在内存中一般以16位来存放一个int整数,而正数以其原码形式存放(其实是原码与补码相同),负数则要用其补码形式存放.因此,负数要将其绝对值写成二进制形式,然后进行按位取反,再加1. 如-1:先写成1的原码000000000001,按位取反111111111110,加1得111111111111为-1的二进制补吗,即-1在内存中的存放形式.
KO!