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

整数如何转换二进制位数

2025-04-30 14:56:58
郭老师
郭老师已认证

郭老师为您分享以下优质知识

整数转换为二进制位数的方法主要有以下两种常见方式:

一、除2取余法(逆序排列法)

步骤说明

- 将十进制整数除以2,记录余数;

- 将商继续除以2,再记录余数;

- 重复上述过程,直到商为0;

- 将所有余数从低位到高位逆序排列,即为二进制表示。

示例

将十进制数137转换为二进制:

```

137 ÷ 2 = 68 余 1

68 ÷ 2 = 34 余 0

34 ÷ 2 = 17 余 0

17 ÷ 2 = 8 余 1

8 ÷ 2 = 4 余 0

4 ÷ 2 = 2 余 0

2 ÷ 2 = 1 余 0

1 ÷ 2 = 0 余 1

```

逆序排列余数得到: 10001001(二进制)。

二、位操作法(适用于固定位数)

逐位提取法

- 使用位操作符(如`n & 1`提取最低位,`n >

>

1`右移一位)逐位提取二进制位;

- 将提取的位存储在数组或向量中,最后逆序输出。

示例代码(C语言)

```c

include

include

std::vector toBinary(int n) {

std::vector binary;

for (int i = 31; i >

= 0; --i) {

binary.push_back((n >

>

i) & 1);

}

return binary;

}

int main() {

int num = 137;

std::vector binary = toBinary(num);

for (int bit : binary) {

std::cout