No video

浮動小数点数とは何かや正規化のメリットをわかりやすく解説【情報I基礎】2-1-7 実数のデジタル表現

【高校情報I】2-1-7 実数のデジタル表現 の授業動画です。
実数の表現方法である固定小数点数と浮動小数点数の違いや、浮動小数点数の正規化とは何かとその利点を基本から解説しました🎉
《東京書籍「新編情報Ⅰ」説明なし、実教出版「最新情報Ⅰ」P80、数研出版「情報Ⅰ」P94、日本文教出版「情報Ⅰ」P127》
⭐楽しく無料でITを学ぼう!そんな想いで動画を作ってます😁
→チャンネル登録/高評価/周りにシェア で応援お願いします✨✨
🌸チャンネル登録はこちら!
www.youtube.co...
👀関連サイト・動画はこちら!
▼授業ノートと完全攻略シート(PDF教材)
sekachan.net/i...
▼前の動画
• 2進数のかけ算と割り算に使われるシフト演算と...
▼次の動画
• 4種の誤差を内容・発生理由・対策方法で整理し...
▼情報I総復習マインドマップ
• 【この1本でOK】情報I全範囲をマインドマッ...
▼情報I基礎講座
• 【共通テスト対策】高校情報1 基礎講座(全範囲)
▼情報I共通テスト対策講座
• 【共通テスト対策】情報I 演習講座
💡チャプター
00:00 今回のテーマ
00:41 固定小数点数
03:45 浮動小数点数
06:08 浮動小数点数の正規化
06:58 浮動小数点数の表現方法
09:34 確認問題
10:33 まとめ
🙋‍♂️プロフィール
【せかチャン 菅原】
・東京工業大学大学院 情報理工学研究科 卒業
・大学生、大学院生のときに5年半塾講師
・IT研修講師として情報技術、プログラミングのセミナーを企画・実施
・Oracle社より「Instructor of the Year(満足度日本一)」「Java講師賞」を4年連続受賞
「分かった!」と言ってもらえる瞬間、勉強を楽しいと感じてもらえる瞬間が好きです。
フリーラーニング(無料で学べる場)を広げたいと思ってKZreadをはじめました。
一緒に楽しく勉強&成長していきましょう!
📳X(旧Twitter)
x.com/SekaChanIT
🎵音源提供
DOVA-SYNDROME
dova-s.jp/
※動画によっては使用していない場合があります
#情報I #共通テスト #せかチャンの情報I基礎講座
#情報科 #高校情報科 #基本情報技術者 #ITパスポート

Пікірлер: 49

  • @user-ky4rt9gq8r
    @user-ky4rt9gq8r Жыл бұрын

    ありがとうございます。浮動小数点は参考書見るだけでアレルギー反応が出ていましたが、板書がきれいで、説明もわかりやすく大変助かりました。

  • @SekaChan

    @SekaChan

    Жыл бұрын

    岡田浩平さん、コメントありがとうございました! 浮動小数点数は複雑なので、アレルギー反応が出ちゃうのはよく分かりますよ💦 でも、この動画が役に立ったみたいで良かったです!

  • @mondai40
    @mondai40 Жыл бұрын

    いつもお世話になっております。 浮動小数点数の指数部について質問があります。 他の方の質問に対する解説を見ました。 ---以下引用--- 例えば32ビットの浮動小数点数で考えると、 ①指数部に127を足さない場合 → 指数部で表現できる値は 1~254 → 浮動小数点数として表現できる値は ●×2^0~●×2^255 ②指数部に127を足すと決めておく場合 → 指数部で表現できる値は -126~127 → 浮動小数点数として表現できる値は ●×2^(-126)~●×2^127 ---以下おわり--- ①については理解できます。 ②がやはりピンと来ず。。なぜ127を足すとマイナスを表現できるのか 例えば、2^3のとき、127を足すと2^130になってしまう気がしてなりません。

  • @SekaChan

    @SekaChan

    Жыл бұрын

    mondai40さん、コメントありがとうございました。 僕の説明の仕方が分かりにくかったですね。すみません🙏 「指数部に127を足すと決めておく」というのは、  (実際の小数データの指数)+ 127 =(小数データを浮動小数点数で表したときの指数部の値) という意味合いです。 つまり、  (実際の小数データの指数)=(小数データを浮動小数点数で表したときの指数部の値)- 127 となるので、mondai40さんの認識とは逆ということになりますね。

  • @user-ws6ks5br1u
    @user-ws6ks5br1u Жыл бұрын

    明日情報のテストで、 固定少数点数で2進数や10進数に変換することとかまじでわからなかったんですが、いい説明ありがとうございます😊 頑張ってきます!!

  • @SekaChan

    @SekaChan

    Жыл бұрын

    【ん】さん、コメントありがとうございました! 2進数や10進数の変換はかなり難しいですよね。ここが分かればきっと良い点数を狙えますよ👍 今日のテスト、頑張ってきてください!!

  • @user-dl6cs8dz7t
    @user-dl6cs8dz7t11 күн бұрын

    動画ありがとうございます!とても分かりやすいです!!受験生なのですが夏休みに入って情報を勉強し始めてすごく頼りになります!! 一つ質問なのですが、指数部の127や1023はどこからくるのですか?? 2の8乗ならば128を使うと思いました💦説明お願いします🙇🏻‍♀️

  • @SekaChan

    @SekaChan

    10 күн бұрын

    今年の受験生は新課程入試でいろいろ大変だと思います。 ただ情報に関しては、せかチャンさえ見てれば共テ8~9割超えられる講座を作っていくのでみんなで頑張っていきましょう! 前にuser-es4mp6qv8rさんからも同じような質問を受けて回答済なので、そちらを参考にしてみてください😄

  • @dpggdpdpwpa
    @dpggdpdpwpaАй бұрын

    他の参考書で勉強していたときに8ビットで表すことのできる整数の範囲は-128〜127と習いました。しかし、ここの指数部では-127〜128を表すのはどうしてですか?

  • @SekaChan

    @SekaChan

    Ай бұрын

    その「8ビットで表す整数の範囲」は、きっと補数を使うときの話じゃないかなと思います。 指数部の範囲が変わるのは、浮動小数点数の指数部では他の方法(127を足す)を使って値を表現するためですね。 どうして表現方法が違うのか?については、他のコメントで回答してるのでそちらを参考にしてください😄

  • @kinopio3692
    @kinopio36922 ай бұрын

    わかりやすいです。ありがとうございました

  • @SekaChan

    @SekaChan

    2 ай бұрын

    こちらこそ、コメントありがとうございました!

  • @jloc6tmk
    @jloc6tmkАй бұрын

    ありがとうございます。これ難しいですね。これ共通テストに出そうでしょうか?

  • @SekaChan

    @SekaChan

    Ай бұрын

    そうですね。ここは情報Ⅰ全体の中でも難易度高めです。 これまでの私大入試で出てるので、共通テストでも出題される可能性がありますね。

  • @jloc6tmk

    @jloc6tmk

    Ай бұрын

    @@SekaChanありがとうございます。きちんと理解しておきます。

  • @user-es4mp6qv8r
    @user-es4mp6qv8rАй бұрын

    いつも動画投稿ありがとうございます!分からないときに参考にさせてもらっています! 指数部について質問です。負の指数を表現するために1023を足すと説明されていましたが、それなら普通に2の補数を使って表現すればいいんじゃないかなと思ってしまいました… 今回はなぜ2の補数を使わずにわざわざ1023を足すという操作をしなければならないんでしょうか?ちょっとめんどくさいところが気になってしまいまして… 分かればお答えしていただけると嬉しいです!

  • @SekaChan

    @SekaChan

    Ай бұрын

    鋭くて良い質問ですね! (自分が先生だったら、こういう質問をされると嬉しくなっちゃいます😄) たしかに、2の補数を使ってもマイナスの値を表現することはできます。 ただ、(例えば8ビットの)2の補数を使うと‥ ・-128~-1 → 1000 0000~1111 1111 ・0~127 → 0000 0000~0111 1111 となります。 一方、浮動小数点数の指数部のように+127という方法を使うと‥ ・-126~127 → 0000 0001~1111 1110 となって、【2進数の値が大きくなるほど指数部の値も大きくなります】。 ※指数部がすべて0or1の場合は特殊な値(無限大など)を表します なので、指数部同士の大小比較や正規化(ちょっとした加減算)をする場合、後者のほうが簡単に処理できるわけですね。

  • @MnnbTngk
    @MnnbTngk4 ай бұрын

    俺が文系人間だから7:40辺りからまったく理解できないのかなと思ってたけどやっぱり難しい範囲なんですね。 7:40までは分かりやすい説明のおかげでかなり理解が深まったのですがそこからが全く頭に入ってこなくなってしまいました。

  • @SekaChan

    @SekaChan

    4 ай бұрын

    ここ、改めて見直すと説明が早すぎたなーって感じます。すみません🙏 仮数部の「1.0101」はホワイトボード左下の2進数からきていることをもっと強調しておくべきでしたね… 7:40までわかったのであれば正規化の考え方は理解できているので、ゆっくりめの速度で何度か見返してみてもらうと7:40以降も頭に入るかなと思います。

  • @Mamao-us1hs
    @Mamao-us1hs8 ай бұрын

    浮動小数を正規化する時に指数部の値はどのようにして定めているのしょうか?そこ以外は理解できたのですがどうしてもそこだけが分かりません

  • @SekaChan

    @SekaChan

    8 ай бұрын

    Mamaoさん、コメントありがとうございました! 浮動小数点数を正規化するときは、まず小数を 6:08 で☆をつけた「1.~」の形にします。 このときの指数の値に、64ビット浮動小数点数の場合は1023(or32ビット浮動小数点数の場合は127)を足して2進数に変換すると指数部の値を求めることができますね。

  • @user-sz3oc2le7r
    @user-sz3oc2le7r3 ай бұрын

    こんにちわ!0と1で表すときの指数部分なのですが、マイナスを表現するために初めの3桁分を確保している認識で合っていますでしょうか。。

  • @SekaChan

    @SekaChan

    3 ай бұрын

    こんにちは! せっかくコメントしてくれたので質問に答えたいんですが、【初めの3桁分】が何のことか分かりませんでした‥ 7:36で説明してるように、指数部は1桁ですね。

  • @user-mx5gf8ei7w
    @user-mx5gf8ei7w7 ай бұрын

    分かりやすい動画ありがとうございます! 浮動小数点数のところで2進数の例が出ていましたが、2進数の場合も10進数の場合と同じように指数が1大きくなったら小数点が1左に行く、指数が1小さくなったら小数点が1右に行くという考え方で良いんでしょうか?

  • @SekaChan

    @SekaChan

    7 ай бұрын

    かめっちさん、コメントありがとうございました! 2進数の場合もその考え方で大丈夫ですよ。 こちらの動画も参考にしてもらうと理解が深まると思います😄 kzread.info/dash/bejne/aYCEsNGdcqXaoaw.html

  • @user-xw8qy1fr5d
    @user-xw8qy1fr5d Жыл бұрын

    コメント失礼します。 質問なのですが、私の学校の教科書では、16ビットで説明が書いてあったのですが、16ビットですと指数部に足す数字は何になるにでしょうか…

  • @SekaChan

    @SekaChan

    Жыл бұрын

    智愛 福田さん、コメントありがとうございました! 16ビットの場合、指数部に足す数字は「15」ですね。 (他の視聴者さんにも参考になるように、理由を細かく書いておきます) まず、浮動小数点数のルール(指数部や仮数部の桁数など)は、IEEE(アイトリプルイー:Institute of Electrical and Electronics Engineers)という団体が決めたものです。 (ここから、8:43以降の話の流れに沿って説明します) IEEEのルールによると、16ビットの浮動小数点数は  符号部:1ビット、指数部:5ビット、仮数部:10ビット の形式で値を表現します。 指数部が5ビットの場合、指数部で表現できる値は「0(00000)~31(11111)」です。 ただ、「マイナス何乗」の値も表現できるように、指数部に入る値は「+15」したものだと決められているんですね。 すると、指数部で表現できる値は「-15(00000)~16(11111)」となります。 ※ものすごく厳密にいうと、(9:14の※で書いている通り)指数部がすべて0とすべて1の場合は特殊な値を表現するため、指数部で本当に表現できる値は「-14~15」です。ただ、教科書でもここまで細かくは触れられていないため、最後の補足は読み流してくれて大丈夫です😄

  • @user-xw8qy1fr5d

    @user-xw8qy1fr5d

    Жыл бұрын

    返答ありがとうございます😭 わかりやすくてとても助かりました。明日試験なのでこの解き方で頑張ってみますっっっ

  • @SekaChan

    @SekaChan

    Жыл бұрын

    @@user-xw8qy1fr5d さん、返信ありがとうございました! 今日試験なんですね。わざわざ動画を観て頑張っているなるさんなら、きっとうまくいきますよ👍 今までの頑張りを出し切ってきてください!!

  • @user-lj2jc8zy9h

    @user-lj2jc8zy9h

    Жыл бұрын

    @@SekaChan横から申し訳ないです。 +15するのに、なぜ指数部が−15になるのでしょうか??

  • @そのとーりでち

    @そのとーりでち

    11 ай бұрын

    表現出来る指数は-15乗までであって指数部は0表記よ

  • @nanamiokada164
    @nanamiokada164 Жыл бұрын

    32bitや64bitの浮動小数点において指数部と仮数部のbit数はどのように決まっているのでしょうか?

  • @SekaChan

    @SekaChan

    Жыл бұрын

    nanami okadaさん、コメントありがとうございました! おそらく、浮動小数点の32bitや64bitの数字は(誰が)どのようにして決めたのか?という意味合いですよね。 とても良い質問だと思います!(質問の解釈が間違ってたらごめんなさい🙏) 浮動小数点のルール(bit数や桁の使い方など)は、アメリカのIEEE(アイトリプルイー:Institute of Electrical and Electronics Engineers)という団体が決めたものです。 (Wikipedia:ja.wikipedia.org/wiki/IEEE ) IEEEはアメリカにある電気電子学会で、電気通信や情報関連分野のいろんなルールを制定しています。 浮動小数点のルールは「IEEE 754」という形でまとめられていて、このルールに従って32bitや64bitに対応したCPU製品が作られたり、プログラムが動いていたりします😄

  • @user-ji6hx8kk8o
    @user-ji6hx8kk8o Жыл бұрын

    こんにちは。情報の学習を0から始めた教育学部の者です。無知な質問で申し訳ないのですが、指数部に追加で数字を足したのは何故なのでしょうか。基本情報技術者の参考書には記述がなかったので戸惑っています(^_^;)どうかよろしくお願いします。

  • @SekaChan

    @SekaChan

    Жыл бұрын

    シティーハンターになりたい大学生さん、コメントありがとうございました! たしかに、そこは最初僕も疑問に思いましたね。 指数部に数字を足す理由は 8:47 あたりから解説しているのでもう一度見てみてください😄

  • @user-ji6hx8kk8o

    @user-ji6hx8kk8o

    Жыл бұрын

    返信ありがとうございます。 それでも分からないのでほかを当たります。

  • @SekaChan

    @SekaChan

    Жыл бұрын

    @@user-ji6hx8kk8o さん、返信ありがとうございました。 解説部分は見てくれていたんですね。失礼しました。 動画内では、指数部に数字を追加するのは「マイナスの指数を表現するため」と話しました。 言い換えると、「より細かい(絶対値の小さい)値を表現するため」ともいえます。 例えば32ビットの浮動小数点数で考えると、 ①指数部に127を足さない場合 → 指数部で表現できる値は 1~254 → 浮動小数点数として表現できる値は ●×2^0~●×2^255 ②指数部に127を足すと決めておく場合 → 指数部で表現できる値は -126~127 → 浮動小数点数として表現できる値は ●×2^(-126)~●×2^127 ※2^255は「2の255乗」の意味 マイナスの指数を表現できると、0.000‥‥01の「0」がより多い値を表現できます。 より細かい数字を表現できると計算時の誤差を小さくすることにもつながるため、②のようなルールが定められています。

  • @user-sd6rl9tp6k
    @user-sd6rl9tp6k6 күн бұрын

    浮動小数点数って共通テストレベルで出題されるのでしょうか💦

  • @SekaChan

    @SekaChan

    5 күн бұрын

    共通テストで出題される可能性はありますね。 どんなふうに出題されるかは、共通テスト対策講座の動画も参考にしてみてください😄

  • @mirai0723
    @mirai0723Ай бұрын

    無理かもしれない…明日テストですが全然わからなくていろんな参考動画見漁ってます…でもなんだかよくわからない(´;ω;`)頑張ります_(┐「ε:)_

  • @SekaChan

    @SekaChan

    Ай бұрын

    ここは2章のなかでも特に難しいところなんですよね‥ でも、テスト前日まで動画を見漁ってるなんてスゴイ!その頑張りが結果につながるように応援してますよ✊

  • @zephone2047
    @zephone2047 Жыл бұрын

    専門学校で聞くのよりわかりやすい

  • @SekaChan

    @SekaChan

    Жыл бұрын

    DAlKONさん、コメントありがとうございました! ここは難しいところなので、わかりやすいって感じてもらえて良かったです😄

  • @user-el3jv6wv9g
    @user-el3jv6wv9g2 жыл бұрын

    浮動小数点数の仮数についてですが、2進数では小数点のすぐ左が1になるようにするというのは、そのとおりだと思いますが、1が最上位数との説明だったと思います。私は、小数点のすぐ左の数が、数を左の方から右を見て行って0以外の最初の数と理解していたのですがどうなのでしょうか?もちろん2進数では同じことになるのですが、例えば10進数で数が0.0201だとしたら2.01×10^-2として2.01が仮数となって、-2は指数になるのではないでしょうか?浮動小数点数は小数点は動きますが、仮数と指数は固定されるというややこしい関係になっているのではないでしょうか?固定しないと無数に書き方が存在することになります。

  • @SekaChan

    @SekaChan

    2 жыл бұрын

    宇佐見英晴さん、コメントありがとうございました。 いただいたコメントを何回か繰り返して読ませてもらいました。たしかに 「小数点のすぐ左の数が、数を左の方から右を見て行って0以外の最初の数と理解していた」 は僕も同じ認識で、その後の2進数・10進数の説明もその通りだと思っています🍀 僕の受け取り方が間違っていたらすみませんが、動画内の説明の仕方(小数点のすぐ左が1になるようにする)だと2進数に限定した話になってしまうのではないかというご指摘で合っているでしょうか? また、浮動小数点数は表現方法が無数に存在しますが、コンピュータ内では書き方が固定されているややこしい関係だと思います。 (リアルでは状況に応じていろいろな書き方が使われるケースがあります)

  • @user-el3jv6wv9g

    @user-el3jv6wv9g

    2 жыл бұрын

    せかチャン様。ご回答ありがとうございます。2進数では0でなければ1ですが、10進数では1とは限らないという重箱の隅をつつくコメントでした。アボガドロ数の説明で普通の人はわかると思います。疑問はまだありまして、(1)1が小数点の左にあるようにすると、浮動小数点数では0を表せられないのでは?仮数が0.0000...のとき、数値は0と定義すれば0を表せられる気がします。(2)仮数部は、小数点の左側の1を無視して小数点の右側だけを表すと教科書では書いてあること。(3)数値の内部表現というのはCPUやメモリでの表現で、ファイルなどでは違うのか、ということです。

  • @SekaChan

    @SekaChan

    2 жыл бұрын

    宇佐見英晴さん、返信ありがとうございました。 「重箱の隅をつつくコメント」とありましたが、わざわざ指摘してもらえて嬉しかったです。 分かりやすい動画づくりを目指していますが、その前に正確さが不可欠ですから😄 細かい表現から気をつけていかなくちゃと改めて思いました。ありがとうございました! また、疑問(1)(2)はその通りで、僕もどう伝えれば良いのかなと思案しているところです。 教科書には「最上位の桁は常に1になるので、1を省略して2番目の桁から仮数部とする」と断言されていますが、実際には指数部がすべて0の「0」や、すべて1の「無限大」などの表現もあったりしますから。 教科書を超える内容を伝えすぎると余計に高校生を混乱させてしまう可能性もあるので、どこまで細かい情報を伝えるべきかは検討を続けていきたいと思います。 (3)の数値の内部表現については、(質問の意図を正確に把握できているか分かりませんが)ファイルによって表現方法は変わります。 そのため、すべてのファイルが浮動小数点数で数値を表現しているわけではなく、他の表現方法も使われていますね。

  • @user-cd1dr3cv6m
    @user-cd1dr3cv6m4 ай бұрын

    4:06 で6の後に0が23個続くと仰っていますが、元は60000....2という数字ということですか? 元が60200000....という数字なら理解ができるのですが、、、

  • @SekaChan

    @SekaChan

    4 ай бұрын

    たしかに、6.02×10^23 は 602000000‥0 ですね。 4:06では「6の後に0が23個続くくらいの大きな数」と話しましたが、ここでは「それくらい桁数が大きい数」というイメージをもってもらえたら嬉しいです🙏

Келесі