独習 C を使って C 言語を学んでいる C 言語初心者です.
以下のようなコードがあります.
C
1#include <stdio.h> 2 3int main(void) 4{ 5 char ch; 6 int i; 7 8 i = 1000; 9 ch = i; 10 11 printf("%d\n", i); 12 13 return 0; 14}
上のコードを実行すると,-24 が出力されるのですが,なぜ -24 が出力されるのか分かりません.
char 型は,int 型よりもビット数が小さく,char 型が 8 ビットであるのに対して,int 型は,32 ビットなので,(8 - 32) で -24 になるのでしょうか?
しかし,i の値を 500 にすると,出力は -12 になり,さらに 250 にすると,-6 になります.
char 型の範囲が,[-127 ~ 127] なので,127 を超えた値は全て127 になるのではないかと思いました.
ご指摘いただければ幸いです.
コードが一部間違ってますね。chじゃなくてiを表示しようとしてます
回答1件
あなたの回答
tips
プレビュー