本文目录导读:

Python 脚本(最推荐)
基础转换
# 十进制转其他进制
num = 255
print(bin(num)) # 转二进制: 0b11111111
print(oct(num)) # 转八进制: 0o377
print(hex(num)) # 转十六进制: 0xff
# 其他进制转十进制
print(int('11111111', 2)) # 二进制转十进制: 255
print(int('377', 8)) # 八进制转十进制: 255
print(int('ff', 16)) # 十六进制转十进制: 255
通用转换函数
def convert_base(number, from_base, to_base):
"""任意进制转换"""
# 先转为十进制
decimal = int(str(number), from_base)
# 十进制转目标进制
if to_base == 10:
return str(decimal)
digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result = ""
if decimal == 0:
return "0"
while decimal > 0:
result = digits[decimal % to_base] + result
decimal //= to_base
return result
# 使用示例
print(convert_base('ff', 16, 2)) # 十六进制ff转二进制: 11111111
print(convert_base('1010', 2, 16)) # 二进制1010转十六进制: A
Bash/Shell 脚本
#!/bin/bash # 十进制转其他进制 num=255 echo "十进制: $num" echo "二进制: $(echo "obase=2; $num" | bc)" echo "八进制: $(echo "obase=8; $num" | bc)" echo "十六进制: $(echo "obase=16; $num" | bc)" # 其他进制转十进制 echo "二进制转十进制: $((2#11111111))" echo "八进制转十进制: $((8#377))" echo "十六进制转十进制: $((16#ff))" # 使用printf printf "十进制255转十六进制: %x\n" 255 printf "十进制255转八进制: %o\n" 255
JavaScript/Node.js 脚本
// Node.js 进制转换
// 基本转换
let num = 255;
console.log(num.toString(2)); // 转二进制: 11111111
console.log(num.toString(8)); // 转八进制: 377
console.log(num.toString(16)); // 转十六进制: ff
// 其他进制转十进制
console.log(parseInt('11111111', 2)); // 255
console.log(parseInt('377', 8)); // 255
console.log(parseInt('ff', 16)); // 255
// 通用转换函数
function convertBase(number, fromBase, toBase) {
// 先解析为十进制
let decimal = parseInt(String(number), fromBase);
// 十进制转目标进制
if (toBase === 10) return String(decimal);
return decimal.toString(toBase).toUpperCase();
}
// 使用示例
console.log(convertBase('ff', 16, 2)); // 11111111
console.log(convertBase('1010', 2, 16)); // A
命令行随手转换(Linux)
# 使用 printf
printf "%d\n" 0xff # 十六进制转十进制: 255
printf "%x\n" 255 # 十进制转十六进制: ff
printf "%o\n" 255 # 十进制转八进制: 377
# 使用 python(最灵活)
python3 -c "print(bin(255))" # 0b11111111
python3 -c "print(hex(255))" # 0xff
python3 -c "print(int('ff', 16))" # 255
# 使用 bc
echo "obase=2; 255" | bc # 11111111
echo "ibase=2; 11111111" | bc # 255
实用脚本:批量转换工具
#!/usr/bin/env python3
# save as: convert.py
import sys
def convert_number(number, from_base, to_base):
try:
# 判断输入是否合法
if from_base == 10:
decimal = int(number)
else:
decimal = int(str(number), from_base)
# 简化:只支持2-36进制
if to_base == 10:
return str(decimal)
elif to_base == 2:
return bin(decimal)[2:]
elif to_base == 8:
return oct(decimal)[2:]
elif to_base == 16:
return hex(decimal)[2:].upper()
else:
# 通用转换
digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result = ""
if decimal == 0:
return "0"
while decimal > 0:
result = digits[decimal % to_base] + result
decimal //= to_base
return result
except ValueError:
return "错误:输入的数字格式不正确"
if __name__ == "__main__":
if len(sys.argv) != 4:
print("用法: python convert.py <数字> <原进制> <目标进制>")
print("示例: python convert.py ff 16 2")
sys.exit(1)
number, from_base, to_base = sys.argv[1], int(sys.argv[2]), int(sys.argv[3])
result = convert_number(number, from_base, to_base)
print(f"{number}({from_base}) = {result}({to_base})")
使用方法:
python convert.py 255 10 2 # 十进制255转二进制 python convert.py ff 16 10 # 十六进制ff转十进制 python convert.py 377 8 2 # 八进制377转二进制
这些脚本应该能满足你的大多数进制转换需求,需要我解释某个特定脚本的细节,或者帮你写一个更针对性的工具吗?
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播