☆☆☆仮設の仮説コーナー 命令文の集合体printf関数をより細かい命令文の集まりであらわしてみる?



☆☆☆仮設の仮説コーナー 命令文の集合体printf関数をより細かい命令文の集まりであらわしてみる?☆☆☆




てんC「



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



がどれくらい いろいろな命令の組み合わせに


なっているか。


もうちょっとだけですが


私たちの推論で私たちの理解している世界を拡張してみませんか?」



ぶーにゃん 「それ いいにゃ~ん。」


てんC 

「         


          『幸運にも』


私たちは


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



どれくらい いろいろな命令の組み合わせに


なっているか。 に関して全く参考文献、資料をもっていません。


ですので 思うとおりに この誌上で


仮説をたて 足りない必要な道具は自ら創造し


自由に推論していくことができます。」


ぶーにゃん 「やっぱり この時間は最高だにゃ\(^^)/」


てんC 「さあ、どこからお料理


(printfを細かい命令の集まりにわけていく)しましょう?」


ぶーにゃん 「は~い 」


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


うふふっ


どこからとりかかってもとてもおいしそう(^^)」


printf「おっお手柔らかにね。」


身悶えるprintf関数さん。


てんC「ふふふ printf関数さんもおいしくお料理して


っていっておられますよ、ぶーにゃんさん。」 


ぶーにゃん 「えーと


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


という命令は


1.りんごは4198543円です。とコマンドプロンプト画面に出力表示せよ。 


という


ひとつの命令にゃん。


もうこれ以上細かい命令の集まりには分解できないにゃ~ん。


これでおわりかにゃ?


めでたし、めでたしにゃん。」


てんC 「わわっ 砂山崩しゲームでたとえるなら


1回目の山崩しで大きな山をもっていかれました。」


ぶーにゃん 「さあもう大分進んじゃったにゃ~ん。(^^)~」


てんC 「それでは 次は私が・・


そうですね・・・


では


1.

文字列データ "りんごは%d円です。"



数値4198543を


それぞれメモリAとメモリB(記憶装置)に保存せよ。


そしてそのあと  


2.文字列データ "りんごは%d円です。"の中の%dにあたる部分に数値4198543を代入せよ。


そして  


3.りんごは4198543円です。


とコマンドプロンプト画面に出力表示せよ。



どうでしょうか?」


ぶーにゃん 「やるう てんCちゃん むむむ。


これを・・・ゴロゴロ・・・


さらに細かい命令にわける・・・となると


にゃお~~~ん。


おもしろくなってきた~。


これならどうにゃん。


1、文字列データ "りんごは%d円です。"をメモリB(記憶装置)に保存せよ。


2.数値4198543をメモリA(記憶装置)に保存せよ。



そしてそのあと  


3.メモリB(記憶装置)に保存されている


文字列データ "りんごは%d円です。"の%dに当たる部分に


メモリA(記憶装置)に保存されている4198543を代入せよ。


そして  


4.りんごは4198543円です。


とコマンドプロンプト画面に出力表示せよ。


1、2、3、4、・・・・


どんどん項目がふえていくにゃん。


どうかにゃん? これ以上命令を分けることができるかにゃ~ん。」



ぶ~にゃんさん


それ、ちょっとちが~う(笑)


それは1.の文章を


1.2.にわけただけじゃん

            solarplexussより


かわいいにゃ~んこちゃん


なでなで


ぶーにゃん「😻ちがったかにゃ~ん💖」




てんC 「そうですね。


1、文字列データ "りんごは%d円です。"をメモリB(記憶装置)に保存せよ。


2.数値4198543をメモリA(記憶装置)に保存せよ。


そしてそのあと  


3.文字列データ"りんごは%d円です。"の中の


%dにあたる部分に数値4198543を代入せよ。


そして


4.りんごは4198543円です。


とコマンドプロンプト画面に出力表示せよ。


これをさらに細かく命令文に分ける・・・


・・そうですね・・


あっそうだっ


ふふふ  おもしろいことをかんがえました。」


ぶーにゃん


「なにかにゃ~ん。(^^)~」


てんC 「この命令


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


はコンパイル前の命令文ですね。」


ぶーにゃん


「そうにゃ~ん。」


てんC 「コンピュータに命令するときには


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



コンパイルして


機械語に変換されていないとコンピュータは理解できません。


ですから 


このprintfの命令文を


ソースコードのまま考えるより


コンパイルされて


コンピュータを直接動かすことのできる機械語となった


011010101・・・であらわされるデータのあつまり


で 考えたほうが自然ですね。」


ぶーにゃん 「そういえば、そうにゃんね。」


てんC

「10進数4198543は


コンパイル後の状態では


2進数10000000001000010001111に変換されています。


うふふ


みなさんにとっては


この10進数から2進数への変換は簡単だったかしら?



そこで


10進数4198543の部分を2進数10000000001000010001111に変えると


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




1.2進数数値10000000001000010001111をメモリA(記憶装置)に保存せよ。


2、文字列データ "りんごは%d円です。"をメモリB(記憶装置)に保存せよ。


そしてそのあと  


3.メモリB(記憶装置)に保存されている


文字列データ "りんごは%d円です。"の%dに当たる部分に


メモリA(記憶装置)に保存されている2進数数値10000000001000010001111を 


代入せよ。


4.そのさい%d機能を作用させ2進数数値10000000001000010001111を


10進数数値4198543に


変換せよ。 


そして 最後に  


4.りんごは4198543円です。とコマンドプロンプト画面に出力表示せよ。」


と細かくわけられていくことになります」


ぶーにゃん 「てんCちゃん 


今 さりげにものすごいことがおきてるにゃん。」


ぷるぷる 小島ゆきおのようにふるえる猫。


てんC 「ほんとうです。このようなシステムになっているとは・・・」


ぶーにゃん「いま たべた グミ イチゴ、あ.あ...味だ.....ったにゃ


ん...........」































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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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