様々な学問/勉強課目をシミュレーションで解説!シミュレーター/ツール/ゲームで、いろんな学問を楽しく分かりやすく解説するサイトです!思考の改善や、効率化の話題も!
⇒ 本ブログの詳細/連絡先はコチラ!
学問系TOP AI/ChatGPT 数学 物理 統計学 コンピューター 経済学 Webツール
  1. ホーム
  2. 〇学問シミュレーター/改善・効率化
  3. 情報科学/コンピューター
  4. データ型
  5. 「2進数の絶対値表現(負の数の表現)」をシミュレーションで解説![コンピューターの原理基礎]
■注目記事一覧

高校数学 教科書用シミュレーターの制作に携わりました!!

浮動小数点型の仕組みをシミュレーターで理解しよう!

ページングをシミュレーターで体感しよう!

コンピューターの半理基礎:半加算器の原理をシミュレーターで理解しよう!

ストレージのRAID5構成をシミュレーターで理解しよう!

コンピューターの全理基礎:半加算器の原理をシミュレーターで理解しよう!

マルチタスクのCPUの動きをシミュレーターで見てみよう!
 
全テーマ共通記事一覧

「2進数の絶対値表現(負の数の表現)」をシミュレーションで解説![コンピューターの原理基礎]

$$\newcommand\CB[1]{\textcolor{blue}{#1}} \newcommand\CR[1]{\textcolor{red}{#1}} \newcommand\CG[1]{\textcolor{magenta}{#1}}$$

コンピューターは2進数の世界で動いています。2進数は1001101101みたいな感じで0と1の羅列になります。

前回まで整数型の数値の表現方法を解説してきましたが、今回は負の数の表現方法の一つ「絶対値表現」について解説します!

「2進数の絶対値表現(負の数の表現)」をシミュレーションで解説![コンピューターの原理基礎]

おさらい:「1バイト = 2進数8桁」

1バイト(1byte)は↓のように8つの箱(ビット)を組み合わせたデータになります。

8個の箱を組み合わせて、表せる数は\(2^8 = 256\)種類になります。0~255までの数ですね。
1ビットがデータの最小単位ではりますが、基本的にはこの1バイトを基本単位としてコンピューターのメモリサイズやストレージサイズは表されます!

絶対値表現:「負の数 = 先頭bidを1」にする!

前回までのシミュレーターでは、全て0と正の数のみ対象としてきました。しかし、実際には負の数も扱う必要があります。

コンピューターでは簡単に、「先頭のbitを1」という方法で負の数を表します。この中でも絶対値表現は単純で↓のようなルールで負の数を表します。

絶対値表現 = 正の数の先頭bitを1にしたもの = 負の数

非常に単純なルールで↓のような対応関係になります(1バイト表現)

1 ⇒ 0001、 -1 ⇒ 1001
2 ⇒ 0010、 -2 ⇒ 1010
3 ⇒ 0011、 -3 ⇒ 1011

絶対値表現の注意点/問題点

問題点1:使える数字が半減する

これは仕方ないことです。↑の例のとおり、先頭bitを符号として使っているため、1バイトの数値として表せるのは最大で\(2^7=128\)になります。0もあるので-127~127までが絶対値表現で表せる範囲になります。

問題点2: 「-0」という謎の数が作られる

0は0000という表現になります。これについても先頭符号を1にできるので1000というbit配列が作れます。これは意味合いでいうと「-0」です。しかし、そんな数は必要ないので無駄になってしまいます。また、0が二パターンできるので、複雑になります。

0000 ⇒ 0、1000 ⇒ -0

こういった理由(+α)から、実際にコンピューターでつかわれるのは次回解説する「2の補数表現」になるかと思います。

絶対値表現をシミュレーターで確認してみよう!

実際に1バイト(8bit)で負の数の表現がどうなるか、シミュレーターで確認してみましょう!

シミュレーターの説明
  • 指定した絶対値(10進数)の正数と負数両方をbitで出力します
  • 正数と負数のbitの違いが、先頭bitだけであることを確認しましょう

絶対値
0

↑で説明した通り、「-0」という謎の数が出てしまうことが分かると思います!

まとめ:「絶対値表現の負の数 = 先頭bidを1」

今回はコンピューターで負の数を表す方法について説明しました。今回説明した絶対値表現が一番単純で分かりやすいですが、「-0」という謎の数が生まれるなどの問題があります。

また「演算がしにくい」というような問題もあります!そこは次回記事で説明していきます!
 

まとめ

  • 「絶対値表現の負の数 = 先頭bidを1」
  • 単純だが、「-0」という謎の数が出てしまうなど問題あり

 

[関連記事] コンピューターでの負の数の表し方
1.絶対値表現(本記事)

 


⇒「データ型」カテゴリ記事一覧

その他関連カテゴリ




お気軽にコメントお願いします!

Your email address will not be published. Required fields are marked *




記事カテゴリ