进制间转换

概述

对n进制,逢n进1,所以n进制1位上的最大值为n-1。

十进制与其他进制转换

其他进制转十进制

数 [ x l , x l − 1 , x l − 2 , . . . , x 2 , x 1 , x 0 ] 的 进 制 为 R , 其 对 应 的 十 进 制 为 数[x_l,x_{l-1},x_{l-2},...,x_2,x_1,x_0]的进制为R,其对应的十进制为 [xl,xl1,xl2,...,x2,x1,x0]R,
∑ i = 0 l x i ∗ R i \sum_{i=0}^lx_i*R^i i=0lxiRi

我觉得一个卓越的程序员是能把下表熟记的。

二进制十进制八进制十进制十六进制十进制
2 0 2^0 201 8 0 8^0 801 1 6 0 16^0 1601
2 1 2^1 212 8 1 8^1 818 1 6 1 16^1 16116
2 2 2^2 224 8 2 8^2 8264 1 6 2 16^2 162256
2 3 2^3 238 8 3 8^3 83512 1 6 3 16^3 1634096
2 4 2^4 2416 8 4 8^4 844096 1 6 4 16^4 16465536
2 5 2^5 2532 8 5 8^5 8532768
2 6 2^6 2664
2 7 2^7 27128
2 8 2^8 28256
2 9 2^9 29512
2 10 2^{10} 2101024
2 16 2^{16} 21665536

与二进制转换

1 7 \Large_1^7 17 0 6 \Large_0^6 06 1 5 \Large_1^5 15 1 4 \Large_1^4 14 1 3 \Large_1^3 13 0 2 \Large_0^2 02 1 1 \Large_1^1 11 1 0 \Large_1^0 10

二进制的上方代表2的次方。
( 10111011 ) 2 = 1 ∗ 2 7 + 1 ∗ 2 5 + 1 ∗ 2 4 + 1 ∗ 2 3 + 1 ∗ 2 1 + 1 ∗ 2 0 = 128 + 32 + 16 + 8 + 2 + 1 = ( 187 ) 10 \begin{aligned} (10111011)_2 &=1*2^7+1*2^5+1*2^4+1*2^3+1*2^1+1*2^0\\ &=128+32+16+8+2+1\\&=(187)_{10} \end{aligned} (10111011)2=127+125+124+123+121+120=128+32+16+8+2+1=(187)10

注意 最高位 2 n 2^n 2n 中的n=二进制长度-1,别漏掉最后的0

( 1242 ) 10 = 1024 + 128 + 64 + 16 + 8 + 2 = 2 10 + 2 7 + 2 6 + 2 4 + 2 3 + 2 1 = ( 10011011010 ) 2 \begin{aligned} (1242)_{10}&=1024+128+64+16+8+2\\&=2^{10}+2^7 +2^6+2^4+2^3+2^1\\&=(10011011010)_2\end{aligned} (1242)10=1024+128+64+16+8+2=210+27+26+24+23+21=(10011011010)2

与八进制的转换

3 7 \Large_3^7 37 6 6 \Large_6^6 66 0 5 \Large_0^5 05 1 4 \Large_1^4 14 2 3 \Large_2^3 23 0 2 \Large_0^2 02 5 1 \Large_5^1 51 7 0 \Large_7^0 70
八进制的上方代表8的次方。
( 4536 ) 8 = 4 ∗ 8 3 + 5 ∗ 8 2 + 3 ∗ 8 1 + 6 ∗ 8 0 = 2048 + 320 + 24 + 6 = ( 2398 ) 10 \begin{aligned} (4536)_8 &=4*8^3+5*8^2+3*8^1+6*8^0\\ &=2048+320+24+6\\&=(2398)_{10} \end{aligned} (4536)8=483+582+381+680=2048+320+24+6=(2398)10
( 1242 ) 10 = 2 ∗ 512 + 3 ∗ 64 + 3 ∗ 8 + 2 ∗ 1 = 2 ∗ 8 3 + 3 ∗ 8 2 + 2 ∗ 8 1 + 2 ∗ 8 0 = ( 2332 ) 8 \begin{aligned} (1242)_{10}&=2*512+3*64+3*8+2*1 \\&=2*8^{3}+3*8^2+2*8^1 +2*8^0\\&=(2332)_8\end{aligned} (1242)10=2512+364+38+21=283+382+281+280=(2332)8

二进制与其他进制的转换

十进制二进制十进制(十六进制)二进制
0000081000
1000191001
2001010(A)1010
3001111(B)1011
4010012(C)1100
5010113(D)1101
6011014(E)1110
7011115(F)1111

二进制与八进制的转换

( 1011010110 ) 2 = 1   011   010   110 = ( 1326 ) 8 \begin{aligned} (1011010110)_2&=1\ 011\ 010\ 110\\ &=(1326)_8 \end{aligned} (1011010110)2=1 011 010 110=(1326)8

( 753 ) 8 = 111   101   011 = ( 111101011 ) 2 \begin{aligned} (753)_8&=111\ 101\ 011\\&=(111101011)_2 \end{aligned} (753)8=111 101 011=(111101011)2

二进制与十六进制的转换

( 1011010110 ) 2 = 10   1101   0110 = ( 2 D 6 ) 8 \begin{aligned} (1011010110)_2&=10\ 1101\ 0110\\ &=(2D6)_8 \end{aligned} (1011010110)2=10 1101 0110=(2D6)8
( 2 B ) 16 = 0010   1011 = ( 101011 ) 2 \begin{aligned} (2B)_{16}&=0010\ 1011\\ &=(101011)_2 \end{aligned} (2B)16=0010 1011=(101011)2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值