32個のメモリのお部屋 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ に-2147483648から2147483647までのの数値データを1つ格納する形式をint型の形式と呼びます

マックス「int型の形式で格納できる数値データは


-2147483648から2147483647までの数値データ


じゃなかったっけか?」


ソーラー「そう


だから


32個のメモリのお部屋

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

0から4294967295までの数値データを1つ格納する形式は


unsigned int型の形式と呼ばれ


int型の形式とは違います」


マックス「???」


ソーラー「それも簡単な仕組みですよ


32個のメモリのお部屋

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

があるので


32個のメモリのお部屋

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□には


00000000000000000000000000000000

00000000000000000000000000000001

00000000000000000000000000000010

00000000000000000000000000000011

00000000000000000000000000000100

00000000000000000000000000000000

11111111111111111111111111111011

11111111111111111111111111111100

11111111111111111111111111111101

11111111111111111111111111111110

11111111111111111111111111111111


の0と1で表される4294967296パターンのうちの1つを


格納することができます。


そして


unsigned int 型の形式でメモリにデータを格納する場合は


00000000000000000000000000000000

10進数データ0

00000000000000000000000000000001

10進数データ1

00000000000000000000000000000010

10進数データ2

00000000000000000000000000000011

10進数データ3

00000000000000000000000000000100

10進数データ4

01111111111111111111111111111111

10進数データ‭2147483647

10000000000000000000000000000000

10進数データ‭2147483648

10000000000000000000000000000001

10進数データ‭2147483649

11111111111111111111111111111011

10進数データ4294967291

11111111111111111111111111111100

10進数データ4294967292

11111111111111111111111111111101

10進数データ4294967293

11111111111111111111111111111110

10進数データ4294967294

11111111111111111111111111111111

10進数データ4294967295

を表すことにしました。


そうすることにより


32個のメモリのお部屋

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

0から4294967295までの数値データを1つ格納することができます。」


マックス「どっかで聞き覚えがあるような展開だな・・・」


ソーラー「😊ところが


このままでは


つまり


unsiged int型の形式では


32個のメモリのお部屋

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

0から4294967295までの数値データを1つ格納することができても


マイナスの値をもつ数値データを1つ格納することはできません


たとえば


数値データ-1

数値データ-100

数値データ-8

数値データ-268048


などもメモリに格納することはできません


そこで


int型の形式の場合は


00000000000000000000000000000000

10進数データ0

00000000000000000000000000000001

10進数データ1

00000000000000000000000000000010

10進数データ2

00000000000000000000000000000011

10進数データ3

00000000000000000000000000000100

10進数データ4

01111111111111111111111111111111

10進数データ‭2147483647‬

を表すことにしました


ここまでは

unsigned int型と一緒ですね。



ここからが違うんです。


unsigned int型では


10000000000000000000000000000000

10進数データ‭2147483648

を表していたのを


int型では


10000000000000000000000000000000

10進数データ‭-2147483648

を表すことにしたのです。


そして

10000000000000000000000000000001

10進数データ‭-2147483647

を表すことにし

10000000000000000000000000000010

10進数データ‭-2147483646

を表すことにし

11111111111111111111111111111011

10進数データ-5

を表すことにし

11111111111111111111111111111100

10進数データ-4

を表すことにし

11111111111111111111111111111101

10進数データ-3

を表すことにし

11111111111111111111111111111110

10進数データ-2

を表すことにし

11111111111111111111111111111111

10進数データ-1

を表すことにしました。


このように設定することにより


int型の形式では


32個のメモリのお部屋


□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□



-2147483648から2147483647までの数値データを


1つ格納することができます。


32個のメモリのお部屋


□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□




マイナスの数値も

プラスの数値も1つ格納できる形式が


int型の形式なんですね」


マックス

「このように


マイナスの数値も

プラスの数値も


メモリに格納できるようにする方法は


char型のときにもつかわれていたような・・・」


  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る