【python】二进制转换

本文介绍了一个将十进制整数转换为二进制字符串的Python函数。该函数通过不断地将输入数值除以2并记录余数来实现转换过程,最终返回由余数组成的二进制字符串。
部署运行你感兴趣的模型镜像
def convert_binary(num):
    result = []
    if num <= 1:
        result.append(num)
    else:
        while True:
            consult = num / 2
            reminder = num % 2
            result.append(reminder)

            if consult == 1:
               result.append(consult)
               break

            num = consult
    return int("".join(map(str,result)))


您可能感兴趣的与本文相关的镜像

Yolo-v8.3

Yolo-v8.3

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

### Python 中的二进制转换方法 Python 提供了多种内置函数和方法,可以方便地进行二进制转换。以下是几种常见的二进制转换方式: #### 1. 整数到二进制字符串的转换 使用 `bin()` 函数可以将整数转换为以 `'0b'` 开头的二进制字符串[^1]。 ```python number = 42 binary_representation = bin(number) # 输出: '0b101010' print(binary_representation) ``` 如果需要去掉 `'0b'` 前缀,可以使用切片操作[^1]。 ```python binary_representation_clean = binary_representation[2:] # 输出: '101010' print(binary_representation_clean) ``` #### 2. 二进制字符串到整数的转换 使用 `int()` 函数,并指定基数为 2,可以将二进制字符串转换为整数[^1]。 ```python binary_string = '101010' integer_value = int(binary_string, 2) # 输出: 42 print(integer_value) ``` #### 3. 整数到二进制字符串的格式化输出 使用 `format()` 函数或 f-string 格式化,可以生成不带 `'0b'` 前缀的二进制字符串[^1]。 ```python number = 42 binary_representation_formatted = format(number, 'b') # 输出: '101010' print(binary_representation_formatted) # 或者使用 f-string binary_representation_fstring = f"{number:b}" # 输出: '101010' print(binary_representation_fstring) ``` #### 4. 使用 `str.format()` 的扩展功能 `str.format()` 支持更复杂的格式化选项,例如指定填充字符和宽度[^1]。 ```python number = 42 binary_padded = "{:08b}".format(number) # 输出: '00101010'(8 位宽) print(binary_padded) ``` #### 5. 浮点数到二进制转换 对于浮点数,可以使用 `float.hex()` 方法获取其十六进制表示,然后进一步转换二进制[^1]。 ```python float_number = 42.5 hex_representation = float_number.hex() # 输出: '0x1.a000000000000p+5' print(hex_representation) # 进一步手动转换二进制 import struct binary_float = ''.join(format(byte, '08b') for byte in struct.pack('!d', float_number)) print(binary_float) # 输出完整的 IEEE 754 双精度浮点数二进制表示 ``` 以上方法涵盖了从整数到二进制字符串、从二进制字符串到整数,以及浮点数的二进制表示等常见场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值