サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
購入・発注したい方
サービスを探す
プロ人材を探す
ノウハウ・素材を探す
ブログを探す
仕事・求人を投稿して募集
エージェントに人材を紹介してもらう
受注・働きたい方
出品する
単発の仕事を探す
継続 (時給/月給) の仕事を探す
エージェントに仕事を紹介してもらう
カテゴリ一覧
イラスト作成・漫画制作
デザイン制作
Web制作・HP作成・EC構築
動画編集・映像制作
集客・マーケティング相談
ビジネス代行・事務代行
音楽制作・ナレーション
IT相談・システム開発
ライティング・翻訳
コンサルティング・士業
生成AI活用・開発・制作
NEW
占い
悩み相談・カウンセリング
学習指導・資格・キャリア相談
住まい・美容・生活相談
オンラインレッスン・習い事
ハンドメイド制作
出張撮影・出張サービス
資産運用・副業の相談
弁護士検索・法律Q&A(法律相談)
サポート
はじめての方へ
ご利用ガイド
お困りのときは
ログイン
会員登録
サービスを探す
イラスト作成・漫画制作
>
デザイン制作
>
Web制作・HP作成・EC構築
>
動画編集・映像制作
>
集客・マーケティング相談
>
ビジネス代行・事務代行
>
音楽制作・ナレーション
>
IT相談・システム開発
>
ライティング・翻訳
>
コンサルティング・士業
>
生成AI活用・開発・制作
NEW
>
占い
>
悩み相談・カウンセリング
>
学習指導・資格・キャリア相談
>
住まい・美容・生活相談
>
オンラインレッスン・習い事
>
ハンドメイド制作
>
出張撮影・出張サービス
>
資産運用・副業の相談
>
>
プロ人材を探す
>
ノウハウ・素材を探す
ブログを探す
>
求人募集を投稿する
人材を紹介してもらう
仕事を探す
出品する
仕事を探す
仕事を紹介してもらう
出品する
仕事を紹介してもらう
求人募集を投稿する
人材を紹介してもらう
ブログを投稿
会員登録で10%割引クーポンを獲得!
会員登録で10%割引クーポンを獲得!
ココナラブログ
ホーム
ブログトップ
ブログ
IT・テクノロジー
要約:プログラムはなぜ動くのか3章パート1
記事
IT・テクノロジー
lei_231
2022/02/21 19:22
はい、というわけでようやく第3章突入です。
本章は小数点計算についてです。
パソコンに慣れてない人はみんなびっくるするかもですが、なんとコンピュ―タ君は小数点計算が苦手みたいです。
今後何回かにわたってその理由や回避法についてお話していければと思います。ではやっていきましょう
小数点計算が苦手とは?
まず皆さんが思ったこととして、「苦手ってなんやねん!」だと思います。
なんてったってコンピュータは最強計算機、小学生でもできる小数点計算ができないとは思えないと思います。
というわけで、皆さん
0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1
とけますか?
簡単ですよね、1.0です。
ではコンピュータ君は何と答えるでしょう。
下の画像を見てみてください。pythonで全く同じ計算をしてもらいました。
なんと出力部分に0.999999999999999999と出ています。
誤差ですが、間違っています。
これがなぜか、端的に言えば2進数は10進数ほど細かくないからです。
どういうことかを説明していこうと思います。
2進数での小数点
小数点以下の10進数を2進数に変換するのは整数部分同様各桁に重みをかけていく。
小数点以下は
1桁目:2^0
2桁目:2^-1
3桁目:2^-2
といった感じ。ここまでの流れは10進数と同じ。
ただし、変換過程で問題が発生します。
2進数の区切りは10進数に比べかなり粗いため、2進数としてはつながっていても10進数に変換すると値が飛ぶ場合があります。
その最たる例が0.1です。
2に-何乗をしようと決して0.1という数字はできません。
それがコンピュータが
0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1
の計算を間違える理由です。
浮動小数点
そもそもの話、コンピュータ内部で小数点というものは使われていません。
これは紙の上での計算でのみ存在する概念です。
コンピュータ内部では単精度浮動小数点と倍精度浮動小数点というものが変わりに存在する。
両者の違いは単精度は32bit、倍精度は64bitという点。
これにより、表現できる範囲が変わってくる。当然倍精度の方が広い。
浮動小数点は小数点の値を
符号(±)
仮数(m)
基数(n)
指数(e)
の四つに分け、
±m×n^e
の式で計算する。
仮数は浮動小数点における整数の部分を指す。
例:1.20であれば20の部分
まとめ
本日は少し3章導入ということで軽めに行きました。
コンピュータは小数点を計算できない( ゚д゚)ハッ!
個人的にも何気なく小数点計算してたので驚きでしたが、皆さんはどうでしたか?
明日は正規表現とイクセス表現、そして計算間違い回避法について説明して3章を締めたいなとおもいますのでよろしくお願いします。
以上、レイでした
#プログラム
#本要約
一覧に戻る