A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

2进制转换16进制和8进制4位一算和3位一算就是右移原理  不是很明白 为什么右移???毕老师第二天的26集
比如说0000-0000 0000-0000 0000-0000 0011-1100  10进制为60  转换为16进制  那么取后四位
      & 0000-0000 0000-0000 0000-0000 0000-1111
          0000-0000 0000-0000 0000-0000 0000-1100 =12=C    右移后再去4位
                   0000-0000 0000-0000 0000-0000  0011
               &  0000-0000 0000-0000 0000-0000 1111
                   0000-0000 0000-0000 0000-0000  0011  =3                                             就是说60的16进制为Ox3c  可是我不明白为什么右移??这是不是说的是我们2进制快速转换16进制4位一算的原理?为什么右移呢?是我钻牛角了还是说像1+1=2样是个固定的结果算法?      

7 个回复

倒序浏览
4个二进制度位数   就相当于一个16进制度位数     
回复 使用道具 举报
谢建平 发表于 2014-8-14 17:02
4个二进制度位数   就相当于一个16进制度位数

我知道啊  只是他为什么右移 ?就是说4个2进制的位数就是一个16进制的原理吗?就相当于我问了1个1+1为什么等于2的问题吗 就是固定的原理是吗
回复 使用道具 举报
因为16进制是4位一组,所以如果要把二进制转换成十六进制,就必须先 & 0000-0000 0000-0000 0000-0000 0000-1111 得出最右边4位的二进制数,在进行换算成16进制。
然后再右移4位,就可以继续 & 0000-0000 0000-0000 0000-0000 0000-1111得出右边第二组4位的二进制数,在进行换算成16进制。
、、、
这样,就可以得出每4位一组的16进制数了
回复 使用道具 举报
黄小橙 发表于 2014-8-14 17:44
因为16进制是4位一组,所以如果要把二进制转换成十六进制,就必须先 & 0000-0000 0000-0000 0000-0000 0000 ...

在把每一组的16进制数拼起来,再在前面加上0x 就得出一个二进制转换成的十六进制数了
回复 使用道具 举报
黄小橙 发表于 2014-8-14 17:45
在把每一组的16进制数拼起来,再在前面加上0x 就得出一个二进制转换成的十六进制数了 ...

虽然你说的我知道 也回答了,单不是我想知道的  不过我已经知道我自己的答案了 谢谢了~
回复 使用道具 举报
象牙 中级黑马 2014-8-14 22:52:09
7#
考拉 相信你你一定会弄明白的
回复 使用道具 举报
象牙 发表于 2014-8-14 22:52
考拉 相信你你一定会弄明白的

谢谢 明白了 就是钻牛角了 问的就是原理 就像1+1=2一样 我问的就是1+1为什么等于2.。。自己想不开。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马