C 运算符将两个32位数拼接成64位数

1. 将两个8位数拼接成一个16位数。

2.将一个16位数拆分成两个8位数。

3. 将两个32位数拼接成一个64位数.

4.将一个64位数拆分成两个32位数。

使用到C++运算符 主要是两个:移位( << ) 运算符和 或 ( | )运算符.

话不多说,下面上代码:

1.8位

uint8_t my_8_left = 12;
 uint8_t my_8_right = 33;
 uint16_t my_16 = 0;
 //拼凑
 my_int16  = my_8_left;
 my_int16  = (my_16 << 8);
 my_int16  |= my_8_right;
 //拆分
 my_8_right = my_16;
 my_8_left = my_16 >> 8;

2. 32位

uint32_t my_int32_left = 12;
 uint32_t my_int32_right = 33;
 uint64_t my_int64 = 0;
 //拼凑
 my_int64 = my_int32_left;
 my_int64 = (my_int64 << 32);
 my_int64 |= my_int32_right;
 //拆分
 my_int32_right = my_int64;
 my_int32_left = my_int64 >> 32;

(0)

相关推荐