コンピュータに扱える数値には範囲があります。その2 ときどき成功するC言語入門 1000000000000000000000をprintf出力表示してみます。コンパイル結果は時間をおいても変わりません



コンピュータに扱える数値には範囲があります。その2 


ときどき成功するC言語入門 


1000000000000000000000をprintf出力表示してみます。


プログラムの実行結果は時間をおいても変わりません



マックス 「ロマンあふれるなー。



        1000000000000000000000(10がい)は。



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


printf出力表示してみる。


#include <stdio.h>


int main(void)

{

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


return 0;

}


それ、コンパイルっ


プログラムの実行結果(EAZY IDECの場合)


「5行目」で記述エラーを発見しました。

integer constant overflow


プログラムの実行結果

(Visual Studio2018の場合)

(Visual Studio2019の場合)

エラー C2177 定数が大きすぎます。 Project6 c:\users\solarplexuss\source\repos\project6\project6\source.cpp 5

エラー (アクティブ) E0023 整数定数が大きすぎます Project6 c:\Users\solarplexuss\source\repos\Project6\Project6\Source.cpp 5


 

マックス 「あっ。overflowだって。」


ソーラー 「さすがに1000000000000000000000は


overflow(格納範囲オーバー)


無理みたいです。😊」


ぶーにゃん 「にゃおーん。(^^)/」


🌳  🌳

ここで

integer constant overflow

とは

integer (整数)

constant (定数)

overflow (あふれ)


つまり

1000000000000000000000は

コンピュータのメモリに格納できないということをあらわしています

🌳🏰 🌳 


ソーラー 「でも


このコンパイル結果 う、うつくしい・・・・」


ぶーにゃん 「そうにゃんかーーー。


でも 時間がたったら


コンピューターちゃん、


調子がよくなって


正しい答えをだせるかもしれないにゃん。


もう一度、時間をおいて


コンパイル,プログラムを実行するにゃん。」


ソーラー「あ、それ いいアイデアだね」


ぶーにゃん


「プログラムの実行が成功すれば、ときどき成功するC言語入門にゃん。」


てんC 「な、なんという ファンタジー」



ぶーにゃん それ、いいネーミングかも

                      solarplexuss

           


ぶーにゃん 「10分経過・・・


よーし、どうかな~😺、コンピュータちゃん。」


#include <stdio.h>


int main(void)

{

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


return 0;

}


それ、コンパイルっ


プログラムの実行結果(EAZY IDECの場合)


「5行目」で記述エラーを発見しました。

integer constant overflow


プログラムの実行結果(Visual Studioの場合)


エラー C2177 定数が大きすぎます。 Project6 c:\users\solarplexuss\source\repos\project6\project6\source.cpp 5

エラー (アクティブ) E0023 整数定数が大きすぎます Project6 c:\Users\solarplexuss\source\repos\Project6\Project6\Source.cpp 5


ぶ~にゃん「にゃお~んん」


           =^_^=時間がたっても=^_^=


ただしく


1000000000000000000000が表示されないのにゃ~」


マックス「いや もしかしたら


さきのエピソードのプログラムなら


時間をおけば


プログラムの実行結果が変わるかもしれないんじゃないか」



#include <stdio.h>


int main(void)

{

printf("%d\n",(10000 + 888100-555) * 100000/ 55);


return 0;

}


ぶーにゃん

「こんぱいるっ!」


プログラムの実行結果


-7796603

続行するには何かキーを押してください。


ぶーにゃん

「んんーーー?おしいにゃん?」


ソーラー「よ~し もうすこし さらに3分まってみよう~~」


ぶーにゃん


「よ~しにゃん


もう一回


こんぱいるっ!」


プログラムの実行結果


-7796603

続行するには何かキーを押してください。_・・・


ぶーにゃん 

「時間がたっても正しい答えがでないことがわかったにゃん。」



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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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