☆☆☆コンパイラによる10進数から 2進数、2進数から10進数への変換



☆☆☆コンパイラによる10進数から 2進数、2進数から10進数への変換☆☆☆



てんC 「さて コンパイラによって


ソースコードに記述されていた


10進数モンスター数値4198543は


一度


2進数10000000001000010001111に変換され


コンピューターのメモリ内に


おくりこまれ格納されました


そして


この2進数10000000001000010001111は再び


私達が書いたプログラム


#include <stdio.h>


int main(void)

{

printf("%d\n",4198543);

return 0;

}  


の命令によって


コマンドプロンプト画面に


10進数に戻され4198543となって表示されるわけです。」


ぶーにゃん 「ね、ね、てんCちゃん、ということは


コンパイラプログラムには


ソースコードに記述された10進数の数値をコンピュータ


の理解できる2進数にかえる仕組みがあるにゃんね。」


てんC 「そうなのです


もともと


コンピュータはソースコード


(私達が書いたプログラム)


#include <stdio.h>


int main(void)

{

printf("%d\n",4198543);

return 0;

}  


自体は理解できませんからね。


えっ もっとわかり易くですか?


みなさんとお話できて私も嬉しいです。


では


別の言い方をすると


エディタ上の10進数4198543を


2進数10000000001000010001111に変換までは


コンパイラが行わなければ


コンピュータは10進数4198543を認識できません。


ではどうでしょうか?」


ぶーにゃん 「もっと お客さんがお話を


わかり易くお願いした~いって てんCちゃん。」


てんC 「えっそうなんですか?」


お客さんの反応に喜ぶてんC。


てんC 「それでは!


エディタ上の10進数を2進数に変換までは


コンパイラが行わなければ!・・・」


ぶーにゃん


「エディタ上の10進数を2進数に変換までは


コンパイラが行わにゃければ~~~~~~」


てんC


「4198543という数字をコンピュータは理解できません。」


ぶーにゃん


「4198543という数字をコンピュータは理解できにゃ~いにゃ~ん。」


むしゃっむしゃっ 


てんC


「なぜなら それは~~~♪♪♪♪♪」


ぶーにゃん


「にゃぜなら それは~~~♪♪♪♪♪」


てんC 「10進数から 2進数へと~~~♪♪♪♪♪


♪♪♪♪♪ららら♪♪♪♪♪二人だけの世界~~~~~


♪♪♪♪♪ららら~~~~~♪♪♪♪♪」


ぶーにゃん


「幸せな世界~~~♪♪♪♪♪」


てんC

「そこには~~~言葉がなくとも~~~♪♪♪♪♪」


ぶーにゃん


「わかりあう♪♪♪♪♪二人の世界~~~♪♪♪♪♪~~~」


てんC

「それは まるで~~~♪♪♪♪♪~~~」


ぶーにゃん

「陽だまりのなかにいるかのよう~~~~~~~~♪♪♪♪♪


にゃ~~~ん~~~」


てんC「それは~それは~幸せな世界~~~♪♪♪♪♪」


ぶーにゃん 「幸せな世界~~~♪♪♪♪♪」


てんC 「ぶーにゃんさん お解りいただけましたか?」


ぶーにゃん 「いやっ ぜんぜんわからないにゃん。


そこは


エディタ上の10進数4198543を


2進数10000000001000010001111に変換までは


コンパイラが行わなければ


コンピュータは10進数4198543を認識できません。


なぜなら



 コンピュータちゃんは0と1


であらわされた機械語しか理解できないからにゃん。


とつづくにゃ~んよ。」


てんC 「あっあら?あらららら?


そうなんで~す。」


てんC

「はい(^^)


そのようにして


コンパイラによって

エディタ上のソースコードに記述された10進数は2進数に変換され


コンピュータのメモリに格納されます。


そしてメモリに格納された2進数がprintf関数によって操作を受け


コマンドプロンプト画面に


10進数に戻され表示されるわけですが・・・」


ぶーにゃん

「はい(^^)/」


てんC


「コンパイラによって


エディタ上のソースコードに記述された10進数は2進数に変換され


コンピュータのメモリに格納されてから


メモリに格納された2進数がprintf関数によって操作を受け


コマンドプロンプト画面に


10進数に戻され表示されるわけですが・・・」


ぶーにゃん「にゃ~」


てんC

「10進数に戻され表示されるのですが・・・」



ぶーにゃん


「はい、せんせーい(^^)/」


てんC 「はい(^^) ぶーにゃんさん。」


ぶーにゃん


「コンパイラプログラムがコンピュータのメモリに格納された


2進数を10進数に戻して表示するための


機械語プログラムを作成してるのかにゃ?」


(てんCちゃん


うちは自分でもにゃにいってるかわからにゃあいにゃ~~ん


わかりやすくしてみて(^^) お客さんもよろこぶにゃ~ん


おねがいにゃ)


(はいはいっ)


てんC「つまりソースコード


#include <stdio.h>


int main(void)

{

printf("%d\n",4198543);

return 0;

}  


をコンパイルしたときに


コンパイラ(プログラム)が


🍓ソースコードの10進数から2進数に翻訳され


コンピュータのメモリにおくりこまれた2進数🍓


を再び10進数に戻して


コマンドプロンプト画面に表示するための


機械語プログラムもつくっているかどうか・・・ということですか?」


ぶーにゃん 「てんCちゃん だいぶちかい感じ・・・


もうすこしっ」


(今日は楽しいにゃんね。)


てんC 

(わたしもたくさんみなさんと お話できて嬉しいです。」


てんC「では


ソースコード


#include <stdio.h>


int main(void)

{

printf("りんごは%d円です。",4198543);

return 0;

}  


が実行されると

命令文 printf("りんごは%d円です。",4198543);


により


4198543は10000000001000010001111


に翻訳されてコンピュータのメモリにおくりこまれます。


そして


命令文 printf("りんごは%d円です。",4198543);

には


その

メモリに格納された

10000000001000010001111


を(%d出力変換指定子をもちいて)


104198543に戻して


コマンドプロンプト画面に表示するための命令が含まれています。


コンパイラはその命令も機械語


に翻訳してコンピュータに


伝えているのですね。」


ぶーにゃん 「それっ それっ


ジャスト!フィット!キャット!」








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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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