十进制负数转换成二进制数的方法?
3个回答
展开全部
计算机中一般用补码来表示,若对于补码有不清楚之处请参考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位二进制可以表示范围内的负数均可如此进行计算。
这里需要注意的是:
①二进制的位数及其可以表示的十进制数的范围。
②二进制数码变反加一的过程。
负数转换为二进制,就是将其相反数(正数)的补码的每一位变反(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位二进制可以表示范围内的负数均可如此进行计算。
这里需要注意的是:
①二进制的位数及其可以表示的十进制数的范围。
②二进制数码变反加一的过程。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
进制转换,仅仅是把绝对值做“进制转换”。
正负号不可变动。
即:-617(十进制)
=-10 0110 1001(二进制)
=-1151(八进制)
=-269(十六进制)
数码转换,你再 ...。
正负号不可变动。
即:-617(十进制)
=-10 0110 1001(二进制)
=-1151(八进制)
=-269(十六进制)
数码转换,你再 ...。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询