请问一个负数的十进制数字如何转成二进制数字

2024-11-26 16:44:56
推荐回答(2个)
回答1:

计算机中一般用补码来表示,若对于补码有不清楚之处请参考http://baike.baidu.com/view/377340.htm
负数转换为二进制,就是将其相反数(正数)的补码的每一位变反(1变0,0变1)最后将变完了的数值加1,就完成了负数的补码运算。这样就变成了二进制。

举个例子:
将-1变成二进制。
①首先确定二进制的位数,假定为16位,即可以表示-32768到32767的所有十进制整数。
②将-1的相反数,也就是1表示为二进制0000 0000 0000 0001(十六进制表示为0x0001)
(由于四位二进制可以表示为一位十六进制,故一般将二进制按四位进行分段表示)
③将这个二进制变反,可以得到1111 1111 1111 1110(十六进制HEX表示为0xFFFE)
④将变反后的数值加上1,得到-1的二进制表示1111 1111 1111 1111(十六进制表示0xFFFF)

其他在16位二进制可以表示范围内的负数均可如此进行计算。
这里需要注意的是:
①二进制的位数及其可以表示的十进制数的范围。
②二进制数码变反加一的过程。
参考地址:
http://zhidao.baidu.com/link?url=eS6VWd1-A9k-EEiIvQUOZaA-5wCVmxDnulX2o7ZQTMbeAxKFlSyRjESdO9U2p5_agPdvN8SCFXgcmFZV8Vbum_

回答2:

做进制转换,不难的。

仅仅需要把绝对值做“进制转换”,正负号,不可变动。

如:-617 (十进制)

 =-10 0110 1001 (二进制)

 =-1151 (八进制)

 =-269 (十六进制)