我有4字节的数据流,我知道什么时候我想分割它们,并将它们分配给不同的变量。请记住我收到的数据是十六进制格式。比方说,我如何解码4个字节的数据将它们相应地拆分并将它们分配给一个有意义的变量?
P_settings 4bytes p_timeout [6:0]
p_s_detected[7]
p_o_timeout [14:8]
p_o_timeout_set [15]
override_l_lvl [23:16]
l_b_lvl [31:24]
以上P_settings为4个字节,我想他们分裂成字节像位p_timeout [6:0] requires 7 bits of those 4 byte.
目前,我已经试过is..for只是一个字节拆分成位实施。
var soch = ((b_data>> 0)& 0x7F); if i want first 7 bits
我怎么办呢4字节流这样
你有没有想过使用一个uint的?它是32位。一般来说,如果你想要的位在一个4字节的值中被分成不同的字节,你不需要担心它们在单独的字节中。即字节结果=((b_data&0x000ff000)>> 12)会将位12-20拉出来。 –