119を 10 進数とし、その 10 進数の負の数と正の数を 8 ビットと 16 ビットで 2 進数と 16 進数に直す。ただし、負の数は 2 補 数を使って表す。

C言語関連48閲覧

ベストアンサー

0

ThanksImg質問者からのお礼コメント

御二方もありがとうございました!

お礼日時:2021/11/29 2:29

その他の回答(1件)

0

(1050411720さん) 例: #include <stdio.h> void dsp(int a){ int i; unsigned int b=0x8000; printf("%4d(DEC), ",a); for(i=0;i<16;i++){ putchar(a&b?'1':'0'); if(i==7)putchar(' '); b >>= 1; } printf("(BIN), %8X(HEX)\n",a); } int main(void) { int n; printf("data >"); scanf("%d", &n); dsp(n); dsp(-n); return 0; } ~~~~~~~~~~~~~~~~~ data >119 119(DEC), 00000000 01110111(BIN), 77(HEX) -119(DEC), 11111111 10001001(BIN), FFFFFF89(HEX)