| ア | イ | ウ | エ | オ |
| カ | キ | ク | ケ | コ |
| サ | シ | ス | セ | ソ |
| タ | チ | ツ | テ | ト |
| ナ | ニ | ヌ | ネ | ノ |
| ハ | ヒ | フ | ヘ | ホ |
| マ | ミ | ム | メ | モ |
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ |
| ワ | ヰ | ヴ | ヱ | ヲ |
| ン |
| A | B | C | D | E |
| F | G | H | I | J |
| K | L | M | N | O |
| P | Q | R | S | T |
| U | V | W | X | Y |
| Z | 数字 | 記号 | ||
2進数における負の数の表わし方の一つで、すべてのビットを反転させたもののこと。つまり、正数表現に対し、単純に論理否定を取ったものである。
例えば−1を例にする。16進数4桁で+1は0x0001なので、これを論理否定すると0xFFFEとなる。
つまり1の補数の世界では0xFFFEが−1を意味することになる。
1の補数の世界では、+0の否定として−0が存在する点も重要である。
16進数4桁で0は0x0000なので、これを否定すると0xFFFFとなる。+0も−0も同じ値と考えれば、0の表現に0x0000と0xFFFFの二つが存在するということになる。
計算する場合の盲点となりがちなので注意が必要である。
1の補数の加算は1の補数和と呼ばれ、左の桁への桁上がりを一番右に足し込むことで行なう。
一例として0xFFFFと0x1234の和(1の補数和)を考える。0xFFFF+0x1234→0x11233となるが、16ビットを超えた部分を右側に加算するので、結果は0x1234となり、元と値は変わらない。なぜなら1の補数の世界では0xFFFFは0を意味するからである。
1の補数の世界では−2(0xFFFD)、−1(0xFFFE)、−0(0xFFFF)、+0(0x0000)、+1(0x0001)、+2(0x0002)…のようになるため、0xFFFFに1足して桁上がりした場合、0x0000(つまり+0)を経由する必要はなく、0x0001になるべきである。そのために、桁上がりの桁を右側に足し込むことになる。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます