0702调试
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
def bit_viewer(input_data):
|
||||
try:
|
||||
# 定义 ANSI 转义序列颜色代码
|
||||
RED = '\033[91m'
|
||||
GREEN = '\033[92m'
|
||||
RESET = '\033[0m'
|
||||
|
||||
# 尝试将输入转换为十进制整数
|
||||
if input_data.startswith('0x'):
|
||||
num = int(input_data, 16)
|
||||
else:
|
||||
num = int(input_data)
|
||||
# 将整数转换为二进制字符串,去除前缀 '0b',并补全到 32 位
|
||||
binary_str = format(num, '032b')
|
||||
result = []
|
||||
for i in range(32):
|
||||
bit = binary_str[i]
|
||||
# 根据位的值选择不同颜色
|
||||
if bit == '1':
|
||||
colored_bit = RED + bit + RESET
|
||||
else:
|
||||
colored_bit = GREEN + bit + RESET
|
||||
result.append(f"Bit {31 - i}: {colored_bit}")
|
||||
return "\n".join(result)
|
||||
except ValueError:
|
||||
return "输入无效,请输入有效的十进制或十六进制数。"
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
while True:
|
||||
user_input = input("请输入十进制或十六进制数据(十六进制以 0x 开头),输入 'q' 退出:")
|
||||
if user_input.lower() == 'q':
|
||||
break
|
||||
result = bit_viewer(user_input)
|
||||
print(result)
|
||||
Reference in New Issue
Block a user