分享免费的编程资源和教程

网站首页 > 技术教程 正文

【PythonTip题库精编300题】第35题:十六进制转换为二进制

goqiw 2024-10-13 05:00:37 技术教程 38 ℃ 0 评论

1、编程试题:

编写一个程序,将一个两位十六进制数转换为其等价的二进制。

例如,十进制数75在十六进制系统中为0x4B,在二进制系统中为1001011。

因此,如果用户输入0x4B作为输入,则您的程序应输出01001011。

注意:二进制输出必须始终由8位或更多位组成。

定义函数hex_to_binary(),该函数接受单个参数hex_number(以0xXX格式表示的十六进制数)。

在函数内,将十六进制数转换为二进制,并将结果作为字符串返回。

2、代码实现:

#!/usr/bin/python3.9
# -*- coding: utf-8 -*-
#
# Copyright (C) 2024 , Inc. All Rights Reserved
#
# @Time      : 2024/1/7 10:53
# @Author    : fangel
# @FileName  : 35. 十六进制转换为二进制.py
# @Software  : PyCharm

def hex_to_binary(hex_number):
    return bin(hex_number).replace("0b","").zfill(8)

# 获取用户输入的16进制数
hex_number = int(input(), 16)
# 打印转换后的二进制数
print(hex_to_binary(hex_number))

3、代码分析:

int(input(), 16)将输入的16进制数转换成了10进制整数

bin(hex_number)将数字转换成二进制数,格式为0bXXXX,所以要去掉前缀0b,可以使用replace("0b","")方法,也可以适用如下的切片方法,取第二位后面的数字

return bin(hex_number)[2:].zfill(8)

bin默认的格式去掉了前面的0,所以还需要使用zfill方法将结果填充到8位输出,在不满8位的二进制前面填充0

4、运行结果:

输入:7a

输出:01111010

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表