十进制负数转换为二进制、八进制、十六进制的知识

原码是什么

原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

原码不能直接参加运算,可能会出错。例如数学上,1+(-1)=0,而在二进制中00000001 + 10000001 = 10000010,换算成十进制为-2。显然出错了。

如何将十进制的-3 转换成二进制数

首先 取得-3的绝对值 +3

十进制数怎么换算成二进制呢  方法如:

3/2  1余1

1/2  0余1

得到的余数 从到上  得到11  补全32位  得到 0000 0000 0000 0000 0000 0000 0000 0011

+3的二进制数int类型(32位)  是 0000 0000 0000 0000 0000 0000 0000 0011 下面开始正题

第一步  得到-3的原码  也就是+3的二进制数  如上

第二步  得到反码  1111 1111 1111 1111 1111 1111 1111 1100 (0变1   1变0)

第三步 得到补码    给反码+1  得到 1111 1111 1111 1111 1111 1111 1111 1101

-3的二进制数就是上面这个咯

32位二进制 11111111111111111111111111111001 十进制值是什么?

11111111111111111111111111111001

如上,二进制长度为32位,也就是这个整数是一个负数,先取反,得到反码:

00000000000000000000000000000110

反码+1,得到:

00000000000000000000000000000111

转换成十进制:7

由于是负数,所以加个负号,转换成 -7

猜你喜欢

转载自www.cnblogs.com/wgj-yzy/p/11031968.html