负数(十进制)如何转化成八进制十六进制

如题所述

十进制的-3转换成二进制为例。首先将 -3 的绝对值 +3 转换成二进制,假设是为int类型(32位)的,那么二进制表示为:0000 0000 0000 0000 0000 0000 0000 0011。

负数转换成二进制分为3步:

1、 首先将负数转换为对应的原码。

-3 的原码为(也就是+3转换成二进制后的字符串):0000 0000 0000 0000 0000 0000 0000 0011。

2、 再将原码的每一位做取反操作得到反码

取反操作:0变为1 、 1变为0;取反后的结果即为:1111 1111 1111 1111 1111 1111 1111 1100。

3、 将反码+1得到补码:1111 1111 1111 1111 1111 1111 1111 1101。

扩展资料:

1、十进制整数转换为二进制整数。 

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

2、十进制小数转换为二进制小数。

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
对于有符号数的话,2进制最高为1表示负,0表示正 先将10进制数转换成2进制,再从2进制转化为8进制和16进制 例子:10进制数:-10 转化成2进制:11111111 11110110 转换成8进制: 177766 转化成16进制: FFF6本回答被提问者采纳
第2个回答  2014-06-28
把十进制数变成二进制数,负数可以用补码来表示,然后再三位一断转成八进制,( 四位一断则成十六进制) 在数据里只有正数没有负数,负数在计算机存储是前面加一个1就行了,计算时按正数计算.
第3个回答  2021-03-29
就直接进行“进制转换”即可。
正负号,照原样写,不要变。
如:-65(十进制)

 =-41(十六进制)
 =-100 0001(二进制)
 =-101(八进制)

负数(十进制)如何转化成八进制十六进制
进制转换,仅仅是把绝对值做“进制转换”。正负号不可变动。即:-617(十进制)=-10 0110 1001(二进制)=-1151(八进制)=-269(十六进制)

负数(十进制)如何转化成八进制十六进制
1、 首先将负数转换为对应的原码。-3 的原码为(也就是+3转换成二进制后的字符串):0000 0000 0000 0000 0000 0000 0000 0011。2、 再将原码的每一位做取反操作得到反码。取反操作:0变为1 、 1变为0;取反后的结果即为:1111 1111 1111 1111 1111 1111 1111 1100。3、 将反码+1得到补码...

十进制负数转换成二进制、八进制、十六进制
十进制负数转换成二进制、八进制、十六进制需要先把负数写为其二进制补码形式,然后再根据二进制转换其它进制的方法进行。如十进制负数-617,先转换成二进制1000000000001100,再补码,取反加一,为1111111111110100。转换成八进制是三位一结合,即177764(8)。转换成十六进制是四位一结合,即fff4(16)。

负的十进制转换为八进制、十六进制的方法
-111转换成二进制 -1101111 然后二进制转八进制 -1 101 111 = -1 5 7 (三位一分)然后二进制转十六进制 -0110 1111 = -6F (四位一分,其中1111十进制对应15,十六进制对应F,以此类推)

十进制负数转换成二进制、八进制、十六进制
八进制和十六进制数,需要将负数作为二进制补码形式写入,然后根据二进制系统将它们转换成其他基数。例如,如果将十进制负数-617转换为二进制数100000000000001100,则添加补码,并且倒数加1的值是111111111111。转换为八进制是三位和一个的组合,即177764(8)。转换为十六进制是四位fff4(16)的组合。

十进制负数转换成二进制、八进制、十六进制
这时负号“-”用“1”表示。—111的原码表示为: 11101111,—111的补码表示为:10010001,这是8位二进制数,如果用十六位二进制数表示补码,是:1111111110010001,再转换成八进制,就是:177621,最前面那个“1”补两个“0”就是“001”,是八进制的“1”。mm1Mu9aCyIwUAN7iZEzz ...

十进制负数怎么转变成八进制
以十进制的数除以所要转换的进制数,把每次除得的余数记在旁边,所得的商数继续除以进制数,直到余数为0时止。例如把100转换成八进制:1、100除以8等于12,余数为4;2、12除以8等于1,余数为4;3、1除以8等于0余数为1;然后把相应的余数从低向高按顺序着写出,如例题中是144,此即为100的八...

十进制的负数怎么转换成八进制和十六进制数? 如:-617
(617)10=(1001101001)2。负的二进制数1001101001用16位的补码来表示,就是1000 0010 0110 1001取反+1,即1111 1101 1001 0110+1=1111 1101 1001 0111=FD97

C语言 十进制负数如何转换八、十六进制?
可以先转换成二进制 617\/2 308 余1 \/2 154 余0 \/2 77 余0 \/2 38 余1 \/2 19 余0 \/2 9 余1 \/2 4 余1 \/2 2 余0 \/2 1 余0 \/2 0 余1 所以为 1001101001 取其的补码加1 就=-617 在换算为8 16进制 ...

负的十进制数如何转换成八进制十六进制数
负数转二进制的时候只不过是前面多了一位表示正负的二进制,比如-123转换为八位的二进制就是11111011,然后转为八进制和十六进制的时候就把转换好的二进制再转换为八进制和十六进制就好了。

相似回答