小数は、16進数を表す印刷します
する#include <stdio.hの> int型のmain(int型 ARGC、チャーCONST * ARGV []) { // 1つのバイト数、16進数、2 // 1000 0001 = 0x81と // 2進、8進、16角度ヘクスは補完すると考えられているコンピュータ、必要チャー A = 0x81とを; のprintf(" Dを=%\ N- "、A); // -127 戻り0 ; }
次のような理由から、-127を10進数に出力81進数:
以下の通り、すなわち0001 1000バイナリ、及び元のコードの出力補数形式の81の値であり、変数a = 0x81とは、-127、1111 1111バイナリ表現であり、中間処理です。
(負)オリジナルコードの2の補数に応じて1:
1)最上位ビットの符号、他のビットのバイナリ値(元のコード)
2)1に基づいて)、符号ビット不変に基づいて、他のビットが反転されます
3)2の補数)を加え1に基づいていました
図2に示すように、元の要求コード補数、2の補数と同じ手順に従ってこと
1)2の補数
2)1に基づいて)、符号ビット不変に基づいて、他のビットが反転されます
3)2の補数)を加え1に基づいていました
上記0x81との補数はそれが負の数であり、最上位ビットが1である、10000001を補完します。
1111 1110は、それが元のコード1111 1111に1を加えた後、反転し、符号ビットは、最大値で残りの7 1、すなわち127、-127プラス記号が含まれていません
したがって、最終的な出力は-127です。
重要な点は次のとおりです。
元のコードを、ユーザの観点から、遠近の問題を小数を見ます
角度を補完するために、問題を考えるために、ビューのコンピュータポイントに立って、2進数、8進数、16進数を参照してください。