[解決済み】Biased Notationとは何ですか?
質問
と読んだことがあります。 "符号なしintのようなものだが、-(2^(n-1) - 1)でoffset、ここでnは数字のビット数である。余談ですが 技術的にはどのようなバイアスも選択可能ですが、ここで紹介した選択は極めて一般的なものです" -。 http://inst.eecs.berkeley.edu/~cs61c/sp14/disc/00/Disc0.pdf
しかし、何が言いたいのかがわからない。どなたか例を挙げて説明していただけませんか?また、one's compliment、sign and mag、two's complimentなど他の選択肢もある中で、どのような場合に使うべきなのでしょうか?
どのように解決するのですか?
表現とは、情報を符号化し、その符号化された情報から詳細や推論を抽出しやすくするための方法です。
最近のCPUの多くは、quot;2進数の補数表記を用いて、数字を表現しています。 これは、このような値に対する演算(加算、減算、乗算、除算など)を高速に行えるデジタル回路の設計が容易なためです。 また、2進数の補数には、演算を実装するハードウェアを変更せずに、最上位ビットを2のべき乗(符号なし数)または符号ビット(符号付き数)として解釈できるという優れた特性もあります。
例えば、60年代には、4ビットのアドレス指定可能なニブルに格納された2進コード化された10進数のセットとして数字を表現するマシンが非常に一般的でした(IBM1620と1401がその例です)。 つまり、同じ概念や値でも異なる方法で表現することができるのです。
A 偏り は、(数値の)どんな表現を選んだとしても、その値に一定のバイアスを加えていることを意味します。 おそらく、これは何かをより効果的に行うために行われるのでしょう。 私はアセンブリとCコーディングをたくさんしていますが、値にバイアスをかける必要性はあまり感じません。
しかし、よくある例があります。最近のCPUはIEEE浮動小数点を主に実装しており、浮動小数点数は符号、指数、仮数で格納されます。 指数は2の累乗で、0を中心に対称ですが、私の記憶が正しければ、Nビットの指数に対して2^(N-1)のバイアスがかかっています。
このバイアスにより、同じ符号の浮動小数点値は、特別な浮動小数点命令ではなく、標準的なマシンの2進補完命令を使って、等しい/小さい/大きいを比較できるようになり、実際の浮動小数点比較の使用を避けることができる場合があります。 (つまり、浮動小数点演算の使用を避けることができる場合があります。 http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm をご覧ください)。 [ご指摘いただいた@PotatoSwatterさんに感謝します。 私の最初の回答が不正確だったため、これを掘り起こすことにしました] 。
関連
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】単項演算子「*」の型が無効(「int」がある)C言語でのエラー
-
[解決済み] strtokのセグメンテーションフォールト
-
[解決済み】式は、単純なポインタ演算を使用して完全なオブジェクト型へのポインタでなければなりません【重複】。
-
[解決済み】 error: too few arguments to function `printDay' (C言語)
-
[解決済み】ヒープ割り当てで初期化されていない値が作成された
-
[解決済み】sizeof float (3.0) vs (3.0f)
-
[解決済み】スタックスマッシュを検出しました
-
[解決済み】0LLや0x0ULの意味は何ですか?
-
[解決済み】int型配列へのポインタのスカラ・イニシャライザの過剰要素
-
[解決済み】makefile:4。*** missing separator. 停止する