黑马程序员技术交流社区

标题: 计算出十进制46对应的二进制,八进制,十六进制的值。 [打印本页]

作者: hg3093483    时间: 2013-3-25 20:19
标题: 计算出十进制46对应的二进制,八进制,十六进制的值。
本帖最后由 hg3093483 于 2013-3-25 21:37 编辑

计算出十进制46对应的二进制,八进制,十六进制的值。最简单的方式是什么?求教

作者: HM周一帆    时间: 2013-3-25 20:21
十进制数转换成二进制、八进制、十六进制数时,因为整数部分和小数部分转换的规则不同,所以要将整数和小数部分分开进行转换。
整数部分的转换
整数部分的转换规则是“除基取余,逆向取”。也就是说,用要转换的十进制整数去除以基数R,将得到的余数作为结果数据中各位的数字,直到余数为0为止。先得到的余数作为转换后的最低位,最后得到的余数作为转换后的最高位。

小数部分的转换
小数部分的转换规则是“乘基取整,正向取”。也就是说,用要转换的十进制小数去乘以基数R,将得到的乘积的整数部分作为结果数据中各位的数字,小数部分继续与基数R相乘。以次类推,直到某一步乘积的小数部分为0或已得到希望的位数为止。最后,将先得到的整数部分作为转换后的最高位,最后得到的整数部分作为转换后的最低位。

作者: 张海洋    时间: 2013-3-25 20:23
46除以2,直到除不尽为止,然后逆取;
算出二进制----把二进制3位合一(4,2,1)算出八进制;
             把二进制4位合一(8,4,2,1)得到十六进制
二进制:0---9;
八进制:0----7;
十六进制:0----9,A---F
作者: 张海洋    时间: 2013-3-25 20:24
二进制:0,1;
十进制:0--9
作者: 疯狂程序    时间: 2013-3-25 20:27
二进制:101110
八进制: 56
十六进制: 0x2E
按照除数取余数的二进制101110
八进制      101-1 1 0
                4 1 4 2
所以为56
十六进制四位为一位,所以要补0
        0 0 1 0 - 1 1 1 0
             2      8 4 2 0 = E
所以为2E








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2