计算机进制的定义和进制间的转换

1、定义

二进制‌:使用0和1表示,逢2进1,通常以0b或0B开头。例如:110表示
0 1 2(10) 11 12(20(100)) 101 102(110)
‌八进制‌:使用0到7的数字表示,逢8进1,通常以0开头。,例如:123表示
0、1、2、3、4、5、6、7(逢8进1)
十进制‌:使用0到9的数字表示,逢10进1,没有特定前缀。例如:123表示123
0、1、2、3、4、5、6、7、8、9(逢10进1)
‌十六进制‌:使用0到9和A到F的字母表示,通常用以0x或0X开头,例如:0x1A表示26
0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F(逢16进1)

2、进制间转换

2.1 十进制转二进制、八进制、十六进制
# 1.十进制转二进制
例: 18, 从下往上依次读数,为10010
 2 | 18  
  2 | 9            0
   2 | 4           1
    2 | 2          0
     2 | 1         0
         0         1
       
# 2.十进制转八进制
例: 18, 从下往上依次读数,为22
8 | 18  
  8 | 2            2
      0            2
 
# 3.十进制转十六进制
例: 18, 从下往上依次读数,为12
16 | 18  
  8 | 1            2
      0            1

2.2 二进制转八进制、十进制、十六进制
# 二进制转八进制:由于2^3=8,所以每3位二进制数字可以转为1位八进制数字,不够前面补0,从右往左计数
例:10111001  ->  271(8进制)
010=0*2^2 + 1*2^1 + 0*2^0 = 2
111=1*2^2 + 1*2^1 + 1*2^0 = 7
001=0*2^2 + 0*2^1 + 1*2^0 = 1

# 二进制转十进制
例:10111001  ->  128+32+16+8+1=185(10进制)
1=1*2^7=128
0=0*2^6=0
1=1*2^5=32
1=1*2^4=16
1=1*2^3=8
0=0*2^2=0
0=0*2^1=0
1=1*2^0=1

# 二进制转十六进制,由于2^4=16,所以4位二进制数字可以转为1位十六进制数字,不够前面补0,从右往左计数
例:10111001  ->  即B9(16进制)
1011= 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 11 -> B
1001= 1*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 9
2.3 八进制、十六进制转十进制
# 八进制转十进制
例:277  ->  即191(10进制)
2*8^2+7*8^1+7*8^0=191

# 十六进制转十进制
例:2AE  ->  即686(10进制)
2*16^2+A(10)*16^1+E(14)*16^0=686
2.4 八进制、十六进制转二进制
在这里插入代码片
# 八进制转二进制
# 由于2^3=8,所以八进制的1位是二进制的3位
例:226  -> 10010110 (2进制)
2=010 (不足补0)
2=010 (不足补0)
6=1
2 | 6
  2 | 3         0
   2 | 1        1
    2 | 0       1

# 十六进制转二进制
# 由于2^4=16,所以八进制的1位是二进制的4位
例:2AE  -> 1010101110 (2进制)
2=0010(不足补0)
A(10)
2 | 10        
 2 | 5        0 
  2 | 2       1
   2 | 1      0
    2 | 0     1 
    
E(14)
2 | 14
 2 | 7      0
  2 | 3     1
   2 | 1    1
    2 | 0   1 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lance_mu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值