1

符号付き整数と符号なし整数、およびコンピュータメモリでのそれらの表現の違いが説明されているアセンブリチュートリアルを読んでいました。

数字の先頭にビットがあったので、整数が符号なしか符号付きかがわかります。

誰かがそれを知っているなら、答えてください。

4

5 に答える 5

2

符号付き数値の表現には多くの可能性がありますが、最も一般的なのは2の補数です。

于 2010-03-04T18:23:26.477 に答える
2

符号付き数値表現に関するWikipediaのページには、符号付きと符号なしの両方の整数値の最も一般的なメモリ実装が示されています。

Twoの補数が最も一般的な表現です。

于 2010-03-04T18:24:44.317 に答える
2

MSBは、番号が署名されているかどうかを判断しません。符号付き数値では、数値が負であるかどうかを表します。符号なしの数値では、それは単なるMSBです。これは、数値が符号付きと見なされるか符号なしと見なされるかを決定するプログラムです。

于 2010-03-04T18:25:28.330 に答える
1

彼彼。ひっかけ問題。符号付き整数と符号なし整数はまったく同じように表されます。メモリを見ると、それらを区別することはできません。それはフォンノイマンの原理の1つから来ています。では、違いはどこにありますか?違いは、それらが解釈される方法にあります。変数が署名されている場合、コンパイラは署名されたintのコマンドを使用します。また、番号が署名されていることがわかっている場合、最初のビットはそれが署名であることを示します。変換は~i + 1両方の方法で(c構文)として行われます

于 2010-03-04T18:26:54.343 に答える
0

多くの可能な表現があり、それぞれがコンピュータの組織によって異なります。最も有名なのは

どちらの表現でも、最初の(最上位)ビットをテストして、数値が正(通常はオフ)か負(ビットオン)かを確認できます。つまり、番号を署名付きとして扱う場合です。このような数値を符号なしとして扱うようにコンパイラーに指示すると、符号ビットがデータとして使用されます(これにより、データ型の最大範囲が2倍になります)。

于 2010-03-04T18:27:26.797 に答える