どのようにunsigned int/longで表される
-
24-09-2019 - |
質問
私は一部組立てのチュートリアルがあった説明に署名した整数の符号なし整数との違いを表現でコンピュータます。
思い出のようなものがあったのビットの最初の番号で伝えるかどうかの整数値は符号なしまたは署名した。
が誰かを知ってください。
解決
符号付き数値表現のショーにWikipediaのページの両方の符号付きと符号なしの最も一般的なメモリの実装整数値。
最も一般的な表現であるの2の補数ます。
他のヒント
符号付きの数の多くの可能な表現がありますが、最も一般的なのは、2の補数noreferrer">
MSB番号が署名されているか否かを決定しません。署名された数字では、数が負であるか否かを示します。符号なしの数字ではそれだけでMSBです。それは数が符号付きまたは符号なしと見なされているかどうかを決定するプログラムです。
彼と彼。ひっかけ問題。符号付きと符号なし整数はまったく同じ表現されています。メモリを見て、あなたはそれらを区別することはできません。それはフォン・ノイマンの原則の一つで出てきます。だからここでの違いはありますか?違いは、彼らが解釈される方法です。もし変数は符号付き整数型のため、コンパイラが使用するコマンドを締結しています。私たちは数が署名されていることがわかっている場合にも、それは最初のビットがそれの兆候を教えてくれるのです。変換は、両方の方法で~i + 1
(C構文)として行われる
いくつかの表現、それぞれによって コンピューターの組織.最も有名なのは
とも表現できる試験で、最初の(幅)ビットの数が正の(通常はoff)または負のスタート-リセットします。この場合の数として 署名.場合をしないといけないと考えていのコンパイラのような数を扱うとして符号なしの署名バイトを使用してデータとして(併用で最大 範囲 のデータタイプ)です。