
做自己的英雄为您分享以下优质知识
用数组表示二进制数可以通过以下两种方式实现,具体方法及示例如下:
一、将十进制数转换为二进制数组
- 使用"除2取余,逆序排列"法将十进制数转换为二进制数。 - 通过取余操作获取每一位的二进制值(余数为0或1),并存储到数组中。 - 最后将数组逆序排列,得到正确的二进制表示。
示例代码(C语言)
```c
include
void decimalToBinary(int num, int arr[]) {
int i = 0;
while (num >
0) {
arr[i] = num % 2; // 存储余数
num /= 2;
i++;
}
// 逆序排列
for (int j = 0; j < i / 2; j++) {
int temp = arr[j];
arr[j] = arr[i - j - 1];
arr[i - j - 1] = temp;
}
}
int main() {
int num = 35;
int arr = {0}; // 假设使用32位
decimalToBinary(num, arr);
printf("35的二进制表示为:");
for (int i = 0; i < 32; i++) {
printf("%d", arr[i]);
}
return 0;
}
```
输出:
`100011`(35的二进制表示)
二、将二进制数据存储到数组中
- 无符号整数数组:
直接存储二进制数的每一位(0或1),每个元素对应一个bit。 - 字符数组:通过位运算将二进制数据转换为字符(如ASCII码)。
```python
def int_to_binary_array(num, bits=32):
return [num & (1