小编Pay*_*ich的帖子

如何在C中连接数组中的整数二进制值?

我正在编写一个嵌入式系统程序,它通过SPI从外部ADC接收24位数据,并将数据存储在整数数组中.那部分是有效的.为了使数据有用,我需要以二进制或十六进制形式连接每个字节并除以0x7FFFFFF.这是我遇到麻烦的地方.例如,我可能会通过SPI接收一个如下所示的数据数组:

data_buffer = { 24 , 17 , 140 };
Run Code Online (Sandbox Code Playgroud)

又名

data_buffer = { 0b00011000 , 0b00010001 , 0b10001100 };
Run Code Online (Sandbox Code Playgroud)

又名

data_buffer = { 0x18 , 0x11 , 0x8C };
Run Code Online (Sandbox Code Playgroud)

我需要用这个值来连接每个元素来得到这样的东西:

data_value = 0x18118C
Run Code Online (Sandbox Code Playgroud)

然后将该值除以0x7FFFFF,以使其在我的程序中有用.在这个例子中,我最终想要的值是0x18118C/0x7FFFFF = 0.188

我该怎么做呢?

对不起,我没有提供更多代码,老实说我不知道​​从哪里开始.

c embedded binary hex

-1
推荐指数
1
解决办法
146
查看次数

标签 统计

binary ×1

c ×1

embedded ×1

hex ×1