gpt4 book ai didi

c++ - 如何将整数数组转换为位数组?

转载 作者:行者123 更新时间:2023-11-28 05:20:53 25 4
gpt4 key购买 nike

我想要完成的是遍历一个包含 8 个整数的数组,并将每个整数转换为 8 位的二进制形式。我还希望将每个整数的 8 位存储到一个大小为 64 的整数数组中。这是我到目前为止所拥有的,但我似乎无法获得正确的数组。

int Data[8] = {0,0,190,42,0,0,2,33};   

int bits[64];

for(int j = 0; j < 64;j++){
for(int i = 0; i < 8;++i){

bits[j+i] = Data[i] & (1 << i) ? 1 : 0;

}
}

我想获得的数组如下。 (每一位都是它自己的元素)

{0000000000000000101111100010101000000000000000000000001000100001}

最佳答案

您必须为 8 个整数中的每一个处理 8 位,这确实给出了 64 位。但是循环应该是:

for(int j = 0; j < 8;j++){   // loop on integers
for(int i = 0; i < 8;++i){
bits[8*j+i] = Data[j] & (1 << i) ? 1 : 0;
}
}

关于c++ - 如何将整数数组转换为位数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41522802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com