小编Cur*_*ous的帖子

C语言中如何将一个Int分成两个Byte?

我正在使用嵌入在最小硬件中的软件,该软件仅支持 ANSI C 并且具有最小版本的标准 IO 库。

我有一个 Int 变量,大小为两个字节,但是我需要将它分开为 2 个字节才能传输它,然后我可以读取这两个字节,重新组合原始的 Int。

我可以想到每个字节的一些二进制划分,如下所示:

int valor = 522;  // 0000 0010 0000 1010 (entero de 2 bytes)
byte superior = byteSuperior(valor);  // 0000 0010
byte inferior = byteInferioror(valor);  // 0000 1010
...
int valorRestaurado = bytesToInteger(superior, inferior); // 522
Run Code Online (Sandbox Code Playgroud)

但我并没有成功地以一种简单的方式将整体除以它的重量,它给我一种感觉,它应该是微不足道的(例如位移位),而我没有发现它。

实际上,任何将整体分成 2 个字节并重新组装的解决方案都对我很有帮助。

从已经非常感谢你了!

c io ansi-c

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

ansi-c ×1

c ×1

io ×1