从单词中获取单个字节

时间:2012-05-21 19:52:53

标签: c numbers

  

可能重复:
  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个字节。

1 个答案:

答案 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];