龙空技术网

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

fangel 91

前言:

目前兄弟们对“c字符串转换为16进制”都比较关心,小伙伴们都想要剖析一些“c字符串转换为16进制”的相关内容。那么小编在网络上收集了一些有关“c字符串转换为16进制””的相关资讯,希望你们能喜欢,各位老铁们一起来学习一下吧!

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  : PyCharmdef 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

标签: #c字符串转换为16进制