如何用c语言把两个8位数据变成一个8位数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用c语言把两个8位数据变成一个8位数据?相关的知识,希望对你有一定的参考价值。

at24c02因为每页只能存储8byte,而我需要放两个八位数据,有没有什么方法实现啊?

    unsigned int compressUInt32(unsigned int first, unsigned int second)
    
        auto data = new unsigned char[4];

        data[0] = 0xff & (first >> 8);  data[1] = 0xff & first;
        data[2] = 0xff & (second >> 8); data[3] = 0xff & second;

        return *static_cast<unsigned int*>((void*)data);
    

这是将两个无符号整数存储到一个无符号整数中的方法,相当于将 8字节的数据存储到了4字节中

参考技术A 该怎么放怎么放,1byte = 8 bit,放心大胆的放

以上是关于如何用c语言把两个8位数据变成一个8位数据?的主要内容,如果未能解决你的问题,请参考以下文章

c语言输入无符号16位数判断这个数第8位是不是为1

C语言高低位互换操作

C语言读取1位的BMP图

C语言中怎么计算一个类型的取值范围?如 char 用程序算

c语言 关于位域的使用

C语言--位运算