可能重复:
How to get the value of individual bytes of a variable?
如何在不使用逐位运算(即使用算术运算?)的情况下从单词中获取单个字节(例如C中的 unsigned int )
我不知道为什么,但 x 号的这个公式(C-Like)似乎不起作用:
floor(x / pow(R, i)) % R
其中R
是表示数字的基数,i
用于表示要获取的i
个字节。
答案 0 :(得分:1)
如果你真的需要避免按位操作,你可以选择作弊(请注意,如果你使用的是小型或大型端机!):
char *int_16_storage;
uint16_t the_word = 0xabcd;
int_16_storage = &the_word;
uint8_t low_byte = int_16_storage[0];
uint8_t high_byte = int_16_storage[1];