首页  > 教育解读  > 二进制如何转换整数

二进制如何转换整数

2025-05-06 04:53:37
风雨同舟
风雨同舟已认证

风雨同舟为您分享以下优质知识

二进制转换为整数的方法可分为整数和小数两类,具体如下:

一、整数二进制转十进制

无符号整数

从右往左依次用二进制位上的数字乘以2的幂次(次方从0开始递增),然后将结果相加。例如:

$$

(100110101)_2 = 1 times 2^8 + 0 times 2^7 + 0 times 2^6 + 1 times 2^5 + 1 times 2^4 + 0 times 2^3 + 1 times 2^2 + 0 times 2^1 + 1 times 2^0 = 165

$$

带符号整数

- 正数:

与无符号整数转换方法相同。 - 负数:先将其绝对值转换为二进制,然后按位取反(0变1,1变0),最后加1。例如:

$$

-5_{10} rightarrow 10000111_2 rightarrow 01111000_2 rightarrow 10000001_2 = -5_{10}

$$

补码表示

若二进制数首位为1(如1101),需先补齐位数(如0001101),再按无符号整数方法转换。

二、小数二进制转十进制

乘2取整法

将二进制小数点后的每一位乘以2的负次方(次方从-1开始递增),然后将结果相加。例如:

$$

(1101.1011)_2 = 1 times 2^3 + 1 times 2^2 + 0 times 2^1 + 1 times 2^0 + 1 times 2^{-1} + 0 times 2^{-2} + 1 times 2^{-3} + 1 times 2^{-4} = 22.625

$$

终止条件

当小数部分为0或达到所需精度时停止计算。

三、编程实现示例(Python)

整数转换:

$$

text{十进制数} = int(text{二进制字符串}, 2)

$$

例如:`int('1001001', 2)` 返回 `69`。

小数转换:

$$

text{十进制数} = sum_{i=1}^{n} text{二进制位}_i times 2^{-i}

$$

例如:`0.1011` 转换为十进制为 `0.1011`(直接按权展开)。

以上方法适用于不同场景,整数转换需注意符号处理,小数转换需控制精度。