私が持っている私は11110000
から00011110
が、これは実際には符号ビットに1を入れてやってん変化するであろうと信じて、または遮断され、符号ビットが変更された符号ビットになります一つです 左に1バイトシフトするとJavaの符号付きビットが変更されますか?
byte i = 30;
i <<= 3;
System.out.println(i);
他の方法ですか?
また、これは-16
を出力します。どうしてこれなの?私は基底10の11110000
が-112
と等しいと思った、私は-16
がどこから来るのか混乱している。
可能な複製 - http://stackoverflow.com/questions/16049720/signed-left-shift-behaviour – F43nd1r
「11110000」は2の補数形式です。小数点に-16を与える –
2の補数はどのように機能しますか? Googleはあなたが追加1のバイトを逆転させると言っているが、それは '00010000'または正の16を生成しないでしょうか? – kneedhelp