将0的自定义长度的位与uint8_t数组连接

时间:2019-05-02 05:03:49

标签: c arrays bit-manipulation uint8array

我尝试将某些位与c中uint8_t类型的数组连接起来,例如:

int main(int argc, char **argv) {
    if(argc < 2) {
        printf("Usage: %s <Input _message>\n", argv[0]);
        return -1;
    }
     uint8_t L_length_of_message =strlen(argv[1]);
     num_0's_in_bits_addedd=13; // try to || 13 bit with array
     uint8_t msg[L_length_of_message]; 
//assume this msg is already converted in hex format

现在i,e msg = 0xabcf123; 我想将13(bits)与msg i,e连接;

  msg=0xabcf123;
  msg_in_bits=1010101111001111000100100011
  zeors_added_in_bits=0000000000000;
  new_msg_in_bits=10101011110011110001001000110000000000000;
  new_msg=0x1579e246000

主要问题是消息存储在char数组中,因此多位的移位操作不起作用。为该问题提出一些解决方案?

0 个答案:

没有答案