[解決済み] 2の補数 "とは何ですか?
質問
コンピュータ・システム・コースに所属しており、これまで 苦戦中 である。 2の補数 . 理解したいのですが、何を読んでも絵が浮かんできません。私が読んだのは ウィキペディア記事 をはじめ、様々な記事があります。 私の教科書 .
それゆえ、私はこれを始めたいと思ったのです。 コミュニティWiki の投稿で、2の補数とは何か、どのように使うか、そしてキャスト(符号付きから符号なし、またはその逆)、ビット単位の演算、ビットシフト演算などの演算中にどのように数値に影響を与えるかを定義しています。
私が期待しているのは 明確で簡潔な定義 プログラマーが理解しやすいように。
どのように解決するのですか?
2の補数 は、整数を格納する巧妙な方法なので、一般的な数学の問題を非常に簡単に実装することができます。
理解するためには、数字を考えて バイナリ .
基本的には書いてあります。
- の場合、すべて0を使用します。
- 正の整数の場合、カウントアップを開始し、最大で2 (ビット数 - 1) -1.
- 負の整数の場合は、まったく同じことをしますが、0と1の役割を入れ替えてカウントダウンします(つまり、0000から始めるのではなく、1111から始めます - これがquot;complement"の部分です)。
では、4ビットのミニバイト(ここでは ニブル - 1/2バイト)。
-
0000
- ゼロ -
0001
- 一 -
0010
- 二 -
0011
- スリー -
0100
に0111
- 4〜7
ポジティブに考えるとここまでです。2 3 -1 = 7.
ネガティブの場合
-
1111
- ネガティブワン -
1110
- マイナス2 -
1101
- マイナス3 -
1100
から1000
- マイナス4からマイナス8
ネガティブの場合は、値が1つ増えることに注意してください (
1000
= -8)であり、陽性の場合はそうではない。これは
0000
はゼロのために使われます。これは、次のように考えることができます。
数列
コンピュータの
正の数と負の数の区別
こうすることで、最初のビットが符号ビットとなり、10進数で負でない値と負である値を区別することができるようになります。もし最上位ビットが
1
であれば、その2進数は負であると言えますが、最上位ビット(左端)が
0
10進数の値は非負であると言えます。
符号付きマグニチュード。
負の数は、正の数の符号ビットを反転させるだけですが、この方法では、次のような解釈が必要になります。
1000
(一
1
に続いて、すべての
0
をquot;negative zero"と呼ぶのは紛らわしいです。
補語となるもの。
負の数は正の数のビット補数であるため、「負のゼロ」と混同されることがあります。
1111
(すべて1)です。
ハードウェアに近いところで作業しない限り、「Ones' Complement」や「Sign-Magnitude」の整数表現を扱う必要はないでしょう。
関連
-
[解決済み】アルファベットの2進数記号の使い方
-
[解決済み] 整数の2補数乗除はどのように行うのですか?
-
[解決済み] 文字列リテラルの前にある'b'文字は何を意味するのでしょうか?
-
[解決済み] 16進数で-1(10)を9ビットの2進数で表現する。
-
[解決済み] バイナリーコードは、具体的にどのように文字に変換されるのですか?
-
[解決済み] NP、NP-Complete、NP-Hardの違いは何ですか?
-
[解決済み] 静的型付け言語と動的型付け言語の違いは何ですか?
-
[解決済み] 2の補数 "とは何ですか?
-
[解決済み】ビットシフト(bit-shift)演算子とは、どのようなもので、どのように機能するのですか?
-
[解決済み】符号付き数値の符号と倍数より2の補数を好むのはなぜですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン