十进制负数转换成二进制、八进制、十六进制
十进制负数转换成二进制、八进制、十六进制需要先把负数写为其二进制补码形式,然后再根据二进制转换其它进制的方法进行。
如十进制负数-617,先转换成二进制1000000000001100,再补码,取反加一,为1111111111110100。转换成八进制是三位一结合,即177764(8)。转换成十六进制是四位一结合,即fff4(16)。
扩展资料:
计算机内部使用二进制表示数,二进制与十进制的转换是比较复杂的。做乘法的过程,对计算机来说虽然比除法简单,但计算速度也不快。本来一步完成的事,却白白浪费了好多步骤,究其原因,就是人们使用的十进制不适应现代化信息设备,不是最佳信息计数法。
如果人们使用二进制来表示数,不仅与计算机的交流变得简便,而且只需要记得怎样写0和1就能够记数了,比用十进制需要学习十个数字简单了80%。
要将十进制负数转换成二进制、八进制和十六进制数,需要将负数作为二进制补码形式写入,然后根据二进制系统将它们转换成其他基数。
例如,如果将十进制负数-617转换为二进制数100000000000001100,则添加补码,并且倒数加1的值是111111111111。转换为八进制是三位和一个的组合,即177764(8)。转换为十六进制是四位fff4(16)的组合。
扩展资料:
在计算机中,二进制被用来表示数字,二进制和十进制之间的转换更为复杂。虽然乘法运算比除法简单,但运算速度不快。最初,许多步骤都是浪费的。究其原因,是人们使用的十进制不适合现代信息设备,不是最好的信息计数方法。
如果人们用二进制来表示数字,不仅便于与计算机通信,而且只需要记住如何写0和1,这比学习十进制的10个数字容易80%。
把十进制数15转化成二进制数
15/2=7 余1
7/2=3 余1
3/2=1 余1
1/2=0 余1
结果:1111
二进制转换为八进制的方法:
将二进制数从右到左,三位一组,高位不够补0
例:二进制数1110111011转换为八进制数:
001 110 111 011(最前面补了两个0)
结果为:1673
二进制转换为十六进制的方法:
二进制数转换为十六进制数的方法也类似,从右到左,四位一组,最高位不够补0
如上题:
0011 1011 1011 (最前面补了两个0)
结果为:3BB
所以:
—617= -1001101001 (二进制)= - 269(十六进制) = - 1151(八进制)
—111= - 1101111(二进制)= - 6F(十六进制)= - 157 (八进制)
—28654 = - 110111111101110(二进制)= - 6FEE(十六进制)= - 67756 (八进制)
如果要在计算机中存储这些数,就要用原码或补码的形式,这时负号“-”用“1”表示。
—111的原码表示为: 11101111,—111的补码表示为:10010001,这是8位二进制数,如果用十六位二进制数表示补码,是:1111111110010001,再转换成八进制,就是:177621,最前面那个“1”补两个“0”就是“001”,是八进制的“1”。
正负号不可变动。
即:-617(十进制)
=-10 0110 1001(二进制)
=-1151(八进制)
=-269(十六进制)