黑马程序员技术交流社区

标题: 二进制、十进制、八进制和十六进制如何转换? [打印本页]

作者: 黄坚声    时间: 2012-5-11 17:34
标题: 二进制、十进制、八进制和十六进制如何转换?
二进制、十进制、八进制和十六进制如何转换?
作者: 云惟桉    时间: 2012-5-11 18:21
进制转换不是一个三言两语就能说清的问题
为了避免阐述不清对楼主造成误导,建议楼主可以参考一下关于计算机系统原理或者是组织结构之类的书籍,讲解绝对很详细。

或者楼主需要简单了解,可以参看一下网页:
http://wenku.baidu.com/view/c3e71c11cc7931b765ce159b.html
——以上网址摘自百度文库。

希望能帮到楼主。
作者: 孙雪娇    时间: 2012-5-11 19:40
你两天21分真不是盖的。。
作者: Zhang_qian    时间: 2012-5-11 20:26
首先先把十进制数转换为二进制,然后转换为八进制的时候是三位一取,转换为十六进制的时候是四位一转。
举例如下:十进制的数60——》二进制是1010——》八进制是0X74;然后是四位一取到十六进制1010--------->3C
作者: 杨威    时间: 2012-5-11 20:29
这位黄姓兄弟你的技术分都要奔三了,这样的计算机基础问题还不明了嘛{:soso_e132:}
作者: 郑文博    时间: 2012-5-11 20:50
个人还是喜欢用二进制作为工具 拿到非二进制数首先转化成二进制这一步复杂吧。 右右到左3位对应八进制数 4位对应十六进制数 对应十进制就跟简单了 从右到左每个数1 2 4 8 16.。。。从小就算这一堆数
作者: 马文浩    时间: 2012-5-11 21:33
进制间的转换真的不是三言两语能说得清的。
关于进制的转换,毕老师的视频day02--04  day02--05有详细的讲解。

简单的说: 一般各个进制间的转换都以二进制为媒介,首先都要先转换成二进制,然后再进行相应进制的转换。二进制转十进制就是二进制乘以2的过程,十进制转二进制就是对十进制进行除2运算。转八进制就是三个二进制位代表一个八进制位,、四个二进制位代表一个十六位进制
转成二进制后想转其他进制很容易的,前提是要先学会二进制。

强烈建议楼主去看毕向东老师的视频 day02--04  day02--05
作者: 何阳    时间: 2012-5-11 21:39
本帖最后由 天道酬勤 于 2012-5-11 21:42 编辑

进制的转换
        八进制表示形式:  014:0000 1100(二进制),每三位二进制表示
一位八进制数字。八进制在程序中以0开头.
        十进制表示形式:  14: 0000 1110(二进制),直接累加。
        十六进制表示形式:0x14:0001 0100(二进制),每四位二进制表示一
位十六进制数字。十六进制在程序中以0x开头.
        只要十进制数有正负之分。
我们记住一个规则  1 2 4 8 16 32 64 ....2的N次方,规则由来:
【看下图的进制图解】
举例说明:[int类型,但是此时用八个位数表示]
63的二进制形式:
因为63小于64所以第七位是0,63大于32,所以第6位是1,然后63-
32=31,31大于16,所以第五位是1,以此类推  0011 1111
0x63的二进制形式:
四位为一位16进制的数字     0110 0011
032的二进制形式:
三位为一位8进制的数字       0001 1010
1001 0100的八进制形式:
三位二进制表示一位    0224
1001 0100的16进制形式:
四位二进制表示一位   0x94
1001 0100的10进制形式:
直接累加  148

进制图.png (91.78 KB, 下载次数: 69)

进制图解

进制图解

作者: 马文浩    时间: 2012-5-11 21:55
孙雪娇 发表于 2012-5-11 19:40
你两天21分真不是盖的。。

是的,他这个技术分的增长太恐怖了,我都为分发愁死了,通过回答问题我是得不到多少分了,但是什么样的提问才能得分我也不知道,很可能我会在技术分上卡住




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