
如何将十进制转换成八进制和十六进制
比方说将32转换成八进制和十六进制是如何转换的?负数-28654是如何转换的?谢谢按照一楼的话~~负数的话是算不出来的把...
比方说将32转换成八进制和十六进制是如何转换的?
负数-28654是如何转换的?
谢谢
按照一楼的话~~负数的话是算不出来的把 展开
负数-28654是如何转换的?
谢谢
按照一楼的话~~负数的话是算不出来的把 展开
7个回答
展开全部
1.十进制转换成八进制有两种方法:
(1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制。
(2)直接法:八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:
①整数部分
方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。
②小数部分
方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。
2.八进制转换为十进制:
方法是按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。
3.十六进制与十进制的转换
十六进制与八进制有很多相似之处,可以参照上面八进制与十进制的转换实现这两个进制之间的转换。
(1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制。
(2)直接法:八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:
①整数部分
方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。
②小数部分
方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。
2.八进制转换为十进制:
方法是按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。
3.十六进制与十进制的转换
十六进制与八进制有很多相似之处,可以参照上面八进制与十进制的转换实现这两个进制之间的转换。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先转化成2进制:32(10)=100000(2);
8进制就是3位2进制数为一个单元:100,000(2)=40(8);
16进制就是4位2进制数为一个单元:0010,0000(2)=20(16);
至于负数可能只是将28654转化成你要的进制数,前面加负号就可以了;他不象二进制数(在计算机中表示最前面一位是符号位)
还是那句话绝对值转换成你要的进制数,前面加负号。
8进制就是3位2进制数为一个单元:100,000(2)=40(8);
16进制就是4位2进制数为一个单元:0010,0000(2)=20(16);
至于负数可能只是将28654转化成你要的进制数,前面加负号就可以了;他不象二进制数(在计算机中表示最前面一位是符号位)
还是那句话绝对值转换成你要的进制数,前面加负号。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大体上:
2, 8, 16进制 转为 10进制, 用乘法.
10进制 转为 2, 8, 16进制, 用除法.
但是, 8进制转16进制, 一般会用2进制 作为中间转换.
我们学完了所有进制:10进制,8进制,16进制数的表达方式。很重要的一点,C/C++中,10进制数有正负之分,比如12表示正12,而-12表示
负12,;但8进制和16进制只能表达无符号的正整数,如果你在代码中写:-078,或者写:-0xF2,C,C++并不把它当成一个负数。
2, 8, 16进制 转为 10进制, 用乘法.
10进制 转为 2, 8, 16进制, 用除法.
但是, 8进制转16进制, 一般会用2进制 作为中间转换.
我们学完了所有进制:10进制,8进制,16进制数的表达方式。很重要的一点,C/C++中,10进制数有正负之分,比如12表示正12,而-12表示
负12,;但8进制和16进制只能表达无符号的正整数,如果你在代码中写:-078,或者写:-0xF2,C,C++并不把它当成一个负数。
参考资料: 百度百科
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
32转8进制
32/8= 4 余 0
那么第一位就是4第二位就是0
十进制转8进制方法:
十进制数据除以8一直除到余0为指
然把所除的结果正排列
如十进制数52,转8进度,计算过程如下:
52/8 第一次 得6 余 3
3/8 第二次 余3
那么 第一位就是6 第二位就是3,十进制52对应该8进制63
十六进制与8进制类似
52转十六进度,计算过程如下:
52/16 得 3 余3
3/16 余 3
那么十进制52,对应该 16进度 33
至于负数在数据里只有正数没有负数,负数在存储是前面加一个1就行了,计算时按正数计算.
小数的转换方法
同上唯不同的就是,把得数和余数正排列就行了
32/8= 4 余 0
那么第一位就是4第二位就是0
十进制转8进制方法:
十进制数据除以8一直除到余0为指
然把所除的结果正排列
如十进制数52,转8进度,计算过程如下:
52/8 第一次 得6 余 3
3/8 第二次 余3
那么 第一位就是6 第二位就是3,十进制52对应该8进制63
十六进制与8进制类似
52转十六进度,计算过程如下:
52/16 得 3 余3
3/16 余 3
那么十进制52,对应该 16进度 33
至于负数在数据里只有正数没有负数,负数在存储是前面加一个1就行了,计算时按正数计算.
小数的转换方法
同上唯不同的就是,把得数和余数正排列就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询