main( ){
char
c=
040
;
printf(“%o
\n",c<<
1
);
}
上記計算規則によれば、我々は最初の3匹の魚ああ、なぜ試験結果-13それにバイナリ12、1100は、抗ビット論理演算は、0011と比較し、結果があるべきである10進数に変換しましたか?
オリジナルああは、コンピュータに、記憶装置は、サプリメントの形で格納されたバイナリコードです。
したがって、10011であったが、これは唯一の(コンピュータにバイナリ変数bの形式で格納され、(数を表す0最初の符号ビットは、正)12が01100であるコンピュータに格納された論理演算を逆に供すなわち、フォームB)を補完するため、符号ビットが1である、負であるので、我々は最初に、即ち、反転10011に11100を変換し、その後+1を施し、その結果ので、我々は、元のコード形式を変換する必要があります11101は、-13と比べて、10進数に変換されます。したがって、B = -13。
バイナリコンピュータコード印刷の補完的な形態であります
正元のコード、アンチコードと3ヤード1を補完
負の元のコードは、補体に変換され、符号ビット定数最後の1ビットのビット単位の値プラス
元のコードの補数の負の、補体は、に等しい 反転ポジティブ3ヤードの1
(5)右シフト演算規則:0または1で空いたビットを埋めるために残しました。0 1で満たされ、負、正で満たさ。注:異なる環境を充填する方法が異なっていてもよい。右下オーバーフローこのビットは廃棄されます。
= 127、バイナリ相補内部コンピュータの形式で格納されているので、その補数が01111111であるので127は、正であるので、補算術右シフト演算、動作ルールに従って、01111111バイナリに変換00011111を与えるために、依然として00011111のように、元のコードに変換され、進数31、従って、B = 31に変換されます。
110000001000、変換する:A = -127、バイナリ100001111111に変換され、1111.1億逆に変換され、補体111110000001に変換され、3つの左得るために、その動作を移行します反転さ:110000000111、元のコードに変換される:-1016 = Bように、-1016として、数値を10進数に変換、101111111000。
テストデータの複数のセットは、我々がパターンを取得することができる:
nビット左シフト演算の数が行われたときに新しい番号を、得られたオペランド= * 2 ^ nです。