二进制,十六进制,十进制,八进制
1.二进制转十进制, 111 第一位的1 他就是一个1 不用管他, 好,上一位, 这
位的1就要乘2了,因为是二进制,除了个位数,上位的都是乘着2上去的。
那就是 1+1*2+1*2*2=7
好比十进制的 523 ,个位3不管,2这一位就要乘以10了(后几位就算是0也要乘,乘完以后还是0),5这一位又要乘以10, 就是3+2*10+5*10*10=523。
2.二进制转十六进制, 这个就是一个半字节(也就是4位)的二进制 就是 一个十六进制的数而已。
其它的跟二进制转十进制一样。 如 11011 4位分开, 0001 1011,
0001 十六进制 额 他就是1了, 1011 十进制是11 十六进制的B,
结果1B ,还好不是2B。 这两个4位 是互不影响的, 得出数 拼到一起 OK.
3.十进制转二进制, 这个其实围绕核心有两种计算方法。 一种就是除法,除于2除于2 的那种,跟二进制转十进制反过来了。 如 55 除 2 得27 余1 , 1就是个位了,
没有余的话 那就是0了, 27除2 得13 余1, 13除2 得6 余1 ,6除2得3余0,
3除2 得1 余1 , 结果 110111.
第二种是一种减法,
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
10000000 | 1000000 | 100000 | 10000 | 1000 | 100 | 10 | 1 |
这几个数字是二进制8位,也就是一个字节, 每一位对应十进制的数字。
如,55 看好位置, 比32大64小, 二进制最高位在32那边了,
55-32=23 好 100000 有了,23-16=7 10000 有了, 下面很明显8不够,跳过,
7-4=3 100 , 3-2=1 10 ,1 那就是1了,不用减了 正好一个1。
100000+10000+100+10+1=110111。 下面就自己练练吧, 熟能生巧。
4.十进制转十六进制, 这个跟十进制转二进制差不多,用除的那种。
如, 653 除16 得40 余13 13也就是D , 第一位是个位的 D。
40 除16 得 2 余 8 8 他就是8了, 第二位是8,
2除16 得0 余2 当然没必要的, 第三位是2.
结果 28D
5. 十六进制 转 二进制, 这个跟上面二转十六的那个是相通的,
记住,4位是一个十六进制的数 如,1111=F 。
1B 四位分开 1 就是0001了 B是1011 11011 。
概念什么的,再看书研究研究吧。
6. 十六进制 转 十进制, 乘16, 如 23D 拆开乘十六
从个位开始吧, D 也就是十进制的 13 , 3在上位 要乘以16 3*16=48,
2在更上位 2*16*16=512。 512+48+13=573。 结果很明朗啊,化整为零,各个击破。
7. 十进制 转 八进制, 除8 跟 十进制 转 十六进制 二进制一样。
8. 八进制 转 十进制 乘8 跟 十六进 十进制 转 十进制一样。
十进制不管转成十六进制、二进制还是八进制, 都是除的。 而且顺序一样
别的转到十进制都是乘的。 顺序一样
上面这些的方法其实道理都一样, 无外乎 乘 过来 除 过去。
十六进制 2BD 200=2*16*16 B0=B*16 200+B0+D=2BD
换成十进制也就是 2*16*16=512 + B*16=11*16=176 + D=13 =701
二进制 101011 1*25 +0*24 +1*23 +0*22 + 1*2 + 1 = 101011
换成十进制就是数学二进制的算法 不写了
因为我犯过一个傻毛病 , 为什么乘完以后就成十进制了, 原来就是因为刻意要让他变成十进制, 每一次乘都是十进制的结尾, 所以才会成十进制啊。
而且这些算法都是基于十进制的, 十六转二 也都是变成10以后才转的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论