-1

重複の可能性:
変数の個々のバイトの値を取得する方法は?

ビット単位の演算(つまり、算術演算を使用)を使用せずに、ワード(たとえば、Cのunsigned int )から1バイトを取得するにはどうすればよいですか?

理由はわかりませんが、xの数値に対するこの式(C-Like)は機能しないようです。

floor(x / pow(R, i)) % R

ここRで、は数値を表す基数であり、取得する-番目のバイトをi示すために使用されます。i

4

1 に答える 1

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];
于 2012-05-21T19:56:46.873 に答える