请问一个负数的十进制数字如何转成二进制数字
2个回答
展开全部
计算机中一般用补码来表示,若对于补码有不清楚之处请参考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_
负数转换为二进制,就是将其相反数(正数)的补码的每一位变反(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_
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询