なぜこの出力が得られますか?これはどのように機能しますか? x << = 3 = -8ここで、(バイト)x = 127?
バイトx; x = 127; X < < = 3; //同じとしてX = X < のprintln(X)
出力:-8私は紙でそれを書き留め、私はなっていたビットをtwiddled
- 11111000、それは= 248ですか?
バイトが1バイト(8ビット)を占めているとします。署名されているかどうかは分かりませんが、署名することを保証しますか? Cのコード下記ため
私-8同様に得た:
signed char型X = 127。 x< < = 3; printf( "x =%d \ n"、xの値);
なぜ-8 ?? rgd softy
Cコードは、明確ではない - シフト値1016を生成し、その署名char' 'の範囲外である場合、結果は実装定義です。 – caf