把十进制数组转化为二进制,再转化为十进制
时间: 2023-09-27 13:08:56 浏览: 87
您可以使用Python中的bin()函数将十进制数组转化为二进制,再使用int()函数将二进制转化为十进制。以下是示例代码:
decimal_array = [10, 20, 30]
binary_array = [bin(num) for num in decimal_array]
print(binary_array) # ['0b1010', '0b10100', '0b11110']
decimal_array_from_binary = [int(num, 2) for num in binary_array]
print(decimal_array_from_binary) # [10, 20, 30]
希望能对您有所帮助!
相关问题
MATLAB将十进制数组转化为二进制
可以使用 `dec2bin` 函数将十进制数组转化为二进制字符串数组,示例如下:
```matlab
decArr = [10 15 20]; % 十进制数组
binArr = dec2bin(decArr); % 转化为二进制字符串数组
disp(binArr);
```
输出结果为:
```
1010
1111
10100
```
如果需要将每个二进制数填充到相同的位数,可以指定输出字符串的位数:
```matlab
binArr = dec2bin(decArr, 8); % 转化为8位二进制字符串数组
disp(binArr);
```
输出结果为:
```
00001010
00001111
00010100
```
C语言将十进制int转化成二进制数组并指定大小为8
在C语言中,你可以使用标准库函数`itoa()`或者位操作来将整数转换为二进制字符串,并将其存储在一个固定大小的数组中。如果直接存储为二进制数组,你需要手动处理每一位的存储,因为C语言的标准库并没有提供直接转化为固定长度二进制数组的功能。
下面是一个简单的示例,展示了如何将int转换为8位二进制数组:
```c
#include <stdio.h>
#include <string.h>
void int_to_binary_array(int num, char binary[9]) {
// Array to store the binary digits (including null terminator)
char binary_str[10];
sprintf(binary_str, "%d", num);
// Get the binary string without leading zeros
size_t len = strlen(binary_str);
if (binary_str[len - 1] == '0') { // If the number is zero or a power of two
binary_str[--len] = '\0'; // Remove the last digit
}
// Copy the binary digits into the fixed-size array
int index = 7; // Start from the least significant bit
for (size_t i = len - 1; i >= 0 && index >= 0; --i) {
binary[index--] = binary_str[i] - '0';
}
binary[8] = '\0'; // Add null terminator
}
int main() {
int num = 15;
char binary[9];
int_to_binary_array(num, binary);
printf("Binary representation (8 bits): %s\n", binary);
return 0;
}
```
在这个例子中,`int_to_binary_array`函数首先将数字转换为字符串形式,然后逐位复制到固定大小的数组中。注意,由于`binary`数组是固定的8位,对于大于等于128的数,高位会被忽略。
阅读全文