回答編集履歴

1

一部修正

2020/02/10 02:40

投稿

rubato6809
rubato6809

スコア1380

test CHANGED
@@ -20,6 +20,6 @@
20
20
 
21
21
 
22
22
 
23
- 最上位ビットが立っている値は符号付きでは負の値です。そのままだと 0x80は -128 = 0xffffff80 に汎整数拡張されます
23
+ 最上位ビットが立っている値は符号付きでは負の値です。タダの char は signed char である場合が多いから、そのままだと 0x80は -128 = 0xffffff80 に汎整数拡張される可能性が高い
24
24
 
25
25
  しかし、これを 128 = 0x00000080 と拡張したい・表示したいから予め unsigned char と見做す=キャストしておく、コードを書いた人にそういう意図があったということです。