在编程中,进制转换是一个常见的操作。下面我将介绍十进制、二进制、八进制和十六进制之间的转换方法,并提供一些示例代码。
十进制转其他进制
转为二进制
使用除2取余法:
不断除以2取余数,然后将余数倒序排序。
转为八进制
每一位八进制数字产生三位二进制数字,如果位数不够,则补0。
转为十六进制
每一位十六进制数字产生四位二进制数字,如果位数不够,则补0。
其他进制转十进制
二进制转十进制
从低位次开始,当前位次上的数字乘以2的位次次幂,然后求和。
八进制转十进制
从低位次开始,每三位二进制数字转化为八进制数字,依次排列。
十六进制转十进制
从低位次开始,每四位二进制数字转化为十六进制数字,依次排列。
示例代码
Python
```python
十进制转二进制
def decimal_to_binary(decimal_num):
result = ""
while decimal_num > 0:
remainder = decimal_num % 2
result = str(remainder) + result
decimal_num //= 2
return result
二进制转十进制
def binary_to_decimal(binary_str):
decimal_num = 0
for i, digit in enumerate(reversed(binary_str)):
decimal_num += int(digit) * (2 i) return decimal_num 八进制转十进制 def octal_to_decimal(octal_str): decimal_num = 0 for i, digit in enumerate(reversed(octal_str)): decimal_num += int(digit) * (8
return decimal_num
十六进制转十进制
def hexadecimal_to_decimal(hexadecimal_str):
decimal_num = 0
for i, digit in enumerate(reversed(hexadecimal_str)):
decimal_num += int(digit, 16) * (16 i)
return decimal_num
示例
decimal_num = 10
binary_str = decimal_to_binary(decimal_num)
octal_str = octal_to_decimal(decimal_num)
hexadecimal_str = hexadecimal_to_decimal(decimal_num)
print(f"十进制 {decimal_num} 转换为二进制: {binary_str}")
print(f"十进制 {decimal_num} 转换为八进制: {octal_str}")
print(f"十进制 {decimal_num} 转换为十六进制: {hexadecimal_str}")
```
JavaScript