在计算机编程中,将一个数从十进制转换为其他进制(例如二进制、八进制或十六进制),或者从其他进制转换为十进制,可以通过以下方法实现:
十进制转二进制
除2取余法:将十进制数不断除以2,记录每次的余数,直到商为0。然后将所有余数倒序排列,即为对应的二进制数。例如,将十进制数135转换为二进制:
```
135 ÷ 2 = 67 余 1
67 ÷ 2 = 33 余 1
33 ÷ 2 = 16 余 1
16 ÷ 2 = 8 余 0
8 ÷ 2 = 4 余 0
4 ÷ 2 = 2 余 0
2 ÷ 2 = 1 余 0
1 ÷ 2 = 0 余 1
```
倒序排列余数得到:`10000111`,即`135₁₀ = 10000111₂`。
十进制转八进制
除8取余法:将十进制数不断除以8,记录每次的余数,直到商为0。然后将所有余数倒序排列,即为对应的八进制数。例如,将十进制数135转换为八进制:
```
135 ÷ 8 = 17 余 1
17 ÷ 8 = 2 余 1
2 ÷ 8 = 0 余 2
```
倒序排列余数得到:`211`,即`135₁₀ = 211₈`。
十进制转十六进制
除16取余法:将十进制数不断除以16,记录每次的余数,直到商为0。然后将所有余数倒序排列,即为对应的十六进制数。例如,将十进制数135转换为十六进制:
```
135 ÷ 16 = 8 余 7
8 ÷ 16 = 0 余 8
```
倒序排列余数得到:`87`,即`135₁₀ = 87₁₆`。
二进制转十进制
按权展开法:将二进制数的每一位乘以2的幂次方(从右到左,幂次从0开始),然后求和。例如,将二进制数`1011₂`转换为十进制:
```
1 × 2³ + 0 × 2² + 1 × 2¹ + 1 × 2⁰ = 8 + 0 + 2 + 1 = 11₁₀`。
八进制转十进制:
- 按权展开法:将八进制数的每一位乘以8的幂次方(从右到左,幂次从0开始),然后求和。例如,将八进制数`55₈`转换为十进制:
```
5 × 8¹ + 5 × 8⁰ = 40 + 5 = 45₁₀`。
十六进制转十进制
按权展开法:
将十六进制数的每一位乘以16的幂次方(从右到左,幂次从0开始),然后求和。例如,将十六进制数`6D₁₆`转换为十进制: