计算机语言的进制转换

1.进制

数字在计算机中的表现方式常见的有四种:十进制、八进制、二进制、十六进制

1.1 十进制

  1. **基数:**0,1,2,3,4,5,6,7,8,9
  2. **进位:**满10进1
  3. **位权:**10的n次方(n从地位到高位从0开始依次增加)
1231 = 1*10^3 + 2*10^2 + 3*10^1 + 1*10^0
  1. 程序中的表示方式:直接写
123 
4112

1.2二进制

  1. 基数:0,1
  2. **进位:**满2进1
11011 + 10111 = 110010
1011 + 111010 = 1000101
  1. **位权:**2的n次方(n从地位到高位从0开始依次增加)
101011 = 1*2^5 +1*2^3 +1*2^1 +1*2^0 = 43
  1. **程序中的表示方式:**二进制数前加"0b"“或0B”
0b101
0B101101

1.3.八进制

  1. 基数:0,1,2,3,4,5,6,7
  2. **进位:**满8进1
76 + 45 = 143
45 + 66 = 133
  1. **位权:**8的n次方(n从地位到高位从0开始依次增加)
123 = 1*8^2 + 2*8^1 + 3*8^0 = 83
  1. **程序中的表示方式:**二进制数前加"0o"“或0O”
0o65
0o1234567

1.4.十六进制

  1. 基数:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
  2. **进位:**满16进1
9+6=F
7+9=10
  1. **位权:**16的n次方(n从地位到高位从0开始依次增加)
123 = 1*16^2 + 2*16^1 + 3*16^0
  1. **程序中的表示方式:**二进制数前加"0x"“或0X”
0X9af456
0x98abc1

**注意:**十进制数能做的事情其他进制数也能做

print(291 + 1)
print(0x + 2)

2.不同进制之间的转换

2.1其他进制转换为十进制

**1. 手动转换:**每一位数乘以位权在求和

例:

0b1011 -> 2^0 + 2^1 + 2^3 = 1 + 2 + 8 =11
0o   12 -> 2*8^0 + 1*8^1 = 10
0xaf - > 15*16^0 + 10*16^ = 175

**2. 使用代码:**直接使用print函数打印

print(0b10110)
print(0o45)
print(0xaf)

输出结果(十进制):

22
37
175

2.2十进制转换为其他进制

  1. 手动转换:手动取余
100 -> 0b1100100
100 -> 0o144
100 -> 0x64
  1. 使用代码:使用print打印
print(0b1100100,0o144,0x64)

输出结果:

100  100 100

2.3八进制转换为二进制

一位八进制数转换为三位二进制数

0o67 -> 0b110 111
           6   7

2.4八进制转换为二进制

一位十六进制数转换为四 位二进制数

0xaf -> 0b1010 1111
            a    f

2.5代码转换

  1. bin(数字) -> 将数字转换为二进制
  2. oct(数字) -> 将数字转换为8进制
  3. hex(数字) -> 将数字转换为16进制

示例:

print(bin(100))
print(oct(100))
print(hex(100))

输出结果:

0b1100100
0o144
0x64

猜你喜欢

转载自blog.csdn.net/weixin_48491902/article/details/106673479