cout <<1<<"¥n"; が実行されると10進数数値データ1はchar型の形式でなくint型の形式でメモリに格納されます

ソーラー「なんで32個のメモリのお部屋


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



cout <<1<<"\n";

10進数数値データ1が


00000000000000000000000000000001とされたものが


格納されるのか?


つまり

int型の形式で格納されるのか?


それは

char型の形式だと

8ビットしかメモリのデータ容量がないため


-128から127までの数値しか格納できないからなんだね。


int型だと


32ビットのデータ容量


つまり


32個のメモリのお部屋


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


をもつでしょう。


32個のメモリのお部屋をもつと


-2147483648から2147483647までの数値を格納できるんだ


そう


char型よりint型のほうがデータ容量がおおきい


だから


cout <<1<<"\n";


が実行されると



char型でなく


データ容量がおおきいint型の形式で


10進数数値1のデータが格納されるようになっているんだ」


マックス「ということは


char型の形式で

-128から127の数値を格納することもできれば


int型の形式で

-128から127の数値を格納することもできるっていうことなのか

そ~いうことなのか」


ソーラー「そうなんです。


でも


普通は


cout <<1<<"\n";


が実行されると



char型でなく


int型の形式で


10進数データ1はメモリに格納されます。


ということで


cout <<10<<"\n";


が実行されると



char型でなく


int型の形式で


10進数データ10はメモリに格納されます。


その場合

10進数データ10は

2進数1010とあらわされ

2進数1010の左側に0を28個つけた

00000000000000000000000000001010


int型の形式で


メモリの32個のお部屋


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

に格納されます。」



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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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