c语言中int p[5]={12,4,5,13,5};转换为二进制数组怎么写
时间: 2024-09-14 08:04:46 浏览: 31
在C语言中,如果你有一个整数数组`int p[5] = {12, 4, 5, 13, 5}`,想要将其每个元素转换成二进制形式,你可以遍历数组,对每个数字分别进行转换。这里是一个简单的示例,我们不会直接创建一个新的二进制数组,而是打印出每个元素的二进制表示:
```c
#include <stdio.h>
#include <bitset> // C++98引入的库用于操作位集,C语言中可以手动转换
void print_binary_array(int arr[], int size) {
for (int i = 0; i < size; i++) {
std::bitset<sizeof(int)*8> binary_val(arr[i]); // 使用std::bitset转换到二进制
printf("Element %d in decimal is %d and its binary representation is ", i, arr[i]);
std::cout << binary_val.to_string() << " (";
// 如果你使用C,需要自己实现二进制转换
// char binary_str[10];
// int index = sizeof(int)*8 - 1;
// while (arr[i]) {
// binary_str[index--] = '0'+(arr[i] & 1);
// arr[i] >>= 1;
// }
// printf("%s)", binary_str);
printf("\n");
}
}
int main() {
int p[5] = {12, 4, 5, 13, 5};
print_binary_array(p, 5);
return 0;
}
```
在这个例子中,`std::bitset<sizeof(int)*8>`用于存储整数的二进制表示,然后通过`.to_string()`获取字符串形式。
如果你是纯C,你需要自己实现字符数组的方式来保存每一位。
阅读全文