分享

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

 新用户79878317 2021-07-21

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多