如何将一个数组值合并为一个整数c++

how can merge one array values in one integer c++

本文关键字:一个 整数 c++ 合并 数组      更新时间:2023-10-16

如何将一个数组值倒置合并为一个整数?

example: a[]=0b1011,0b1111 to 10111111 and 10010101 to b[]=0b1001,0b0101

您需要转换类型,以便值可以容纳8位(char或uint8可以根据您的需要执行(。我不确定你有什么类型的4位。您最好将类型重新定义为uint8或其他类型,使[0]=0b00001011。

一旦有了正确的位数,就需要将第一个值左移4,然后使用逐位OR运算符,以为例

int8 myValue = a[0] << 4 | a[1]

以下是的情况

  • 比特移位:a[0]<lt;4表示将每个位向左移动4次,因此0b00001011变为0b10110000(进入右侧的位默认为0(
  • 逐位OR:a[0]<lt;4|a[1],|将a[0]与a[1]中的每一位进行比较。如果任一位为1,则给出1,如果两者均为0,则给出0,即

    10110000|00001111=10111111

我想你说的颠倒是指颠倒?

您需要使用位AND&,做一些类似的事情,所以我不会再详细解释了,但这是

a[0] = (myValue & 0b1111000) >> 4 = 00001011
a[1] = myValue & 0b00001111 = 00001111

希望能有所帮助。

<<|将两个整数"粘贴"在一起,>>&将它们拆开。

例如,(3 << 4) | 5是53,53 >> 4是3,53 & 7是5。
(将整数转换为二进制表示法作为练习。(

tnq需要帮助,我想要一个代码来完成这个

a[]={1,2,3,5,8,6,7,4};
result=a[0,1,2,3]+a[4,5,6,7];
result-->9909
相关文章: