- ベストアンサー
数値をuchar型に入れるには???
(1)int num = 255; uchar c; ~~~ c = num; printf("%x",c); で表示すると0xFFが表示される? (2)int num = 256; uchar c; ~~~ c = num; printf("%x",c); の場合もprintfで表示すると0x00が表示される? 上記の場合にuchar[2]の配列に、 uchar[1] = 0x01 uchar[0] = 0x00 と入れる場合にはどうすればよいでしょうか? 宜しく御願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
※方法1 uchar c[2] ; *(short *)c = 256 ; ※方法2 c[0] = num % 256 ; c[1] = num / 256 ; ※方法3 c[0] = num & 0xff ; c[1] = (num >> 8) & 0xff ; ※方法4 #1と同じ typedef union NUM_u { int n ; uchar c[sizeof(int)] ; } NUM_t ; ((NUM_t *)c)->n = 256 ;
その他の回答 (1)
- asuncion
- ベストアンサー率33% (2127/6289)
いろいろな方法があります。 以下は、ほんの一例です。 #include <stdio.h> typedef unsigned char uchar; typedef union { int n; uchar c[2]; } U; int main(void) { U u; u.n = 256; printf("%02x %02x\n", u.c[1], u.c[0]); return 0; }