2進数のかけ算と割り算に使われるシフト演算とは【高校情報Ⅰ】2-1-6 2進数の乗除算
ฝัง
- เผยแพร่เมื่อ 9 ก.ค. 2024
- 【高校情報Ⅰ】2-1-6 2進数の乗除算 の授業動画です。
2進数ではどのようにかけ算や割り算をしているのかを、基本から丁寧に解説🎉
《東京書籍「新編情報Ⅰ」、実教出版「最新情報Ⅰ」、数研出版「情報Ⅰ」、日本文教出版「情報Ⅰ」解説なし》
⭐無料&楽しく勉強できる場所を作りたい!そんな想いで授業動画を作ってます😁
→チャンネル登録/高評価/周りにオススメ で応援してもらえると嬉しいです✨✨
🌸チャンネル登録はこちら!
th-cam.com/users/SekaChan?su...
👀関連動画はこちら!
▼前の動画
• 2進数の引き算で補数を使う理由【高校情報Ⅰ】...
▼次の動画
• 浮動小数点数とは何かや正規化のメリットをわか...
💡チャプター
00:00 今回のテーマ
00:41 乗除算の考え方
01:47 シフト演算とは
06:58 乗除算の計算方法
09:32 確認問題
10:25 まとめ
🙋♂️プロフィール
【せかチャン 菅原】
・東京工業大学大学院 情報理工学研究科 卒業
・大学生、大学院生のときに5年半塾講師
・IT研修講師として情報技術、プログラミングのセミナーを企画・実施
・Oracle社より「Instructor of the Year(満足度日本一)」「Java講師賞」を4年連続受賞
「分かった!」と言ってもらえる瞬間、勉強を楽しいと感じてもらえる瞬間が好きです。
フリーラーニング(無料で学べる場)を広げたいと思ってTH-camをはじめました。
一緒に楽しく勉強&成長していきましょう!
📳Twitter
/ sekachanit
🎵音源提供
DOVA-SYNDROME
dova-s.jp/
※動画によっては使用していない場合があります
#情報I #基本情報技術者試験 #せかチャンの情報Ⅰ講座
#情報科 #高校情報科 #基本情報 #基本情報技術者 #ITパスポート #コンピューターサイエンス
シフト演算の徐算で余りが出る場合のところの意味が今までテキストを見ても分からなかったのですが、今回この動画の解説を見てそういうことだったのかと理解できてとても嬉しいです!しかもどの講座も説明がとても分かりやすいです
Hiro Mさん、コメントありがとうございました!
2進数の除算って難しいところなので、この動画で理解できたみたいで良かったです。
これからも分かりやすい動画を作っていけるように頑張ります!
テキストを読むだけでは頭に入ってこないことが、スっと理解出来ました!ありがとうございます!基本情報技術者試験を受けようと思ってるので頑張ります!!
ましろさん、コメントありがとうございました!
2進数の計算って難しいですよね。僕も最初は苦労しました💦
2進数は情報量やネットワークなどでも出てくるので、しっかり理解できればこの先にもつながると思います。
基本情報の勉強、ぜひ頑張ってください!
2^nではない場合の乗除の説明ありがとうございました。
お恥ずかしいですが長年の謎のまま放りっぱなしでした。
でも多倍長乗算などを調べると難解・・・
全くの素人である知人から、分かり易いWeb開発の基礎知識解説は無いかと尋ねられ、この動画へたどり着きました。
一番わかり易いと思いました。「せかチャン」さんの動画を推薦しておきました。
今後のご活躍を祈念します。
ありがとうございました。
555 villanovaさん、コメントありがとうございました!
2の累乗以外の乗除算は、結構知らない人が多いんじゃないかなと思います。
もし長年の謎が解けたのなら、この動画を作った甲斐がありました😄
また、せかチャンを推薦してもらってありがとうございました!
その知人さんにも満足してもらえる動画を作っていけるように今後もがんばります!
基本情報技術者試験に興味があって動画を見ています。とにかく板書がものすごくキレイなのと、話すペースが丁度良くて勉強がはかどります!除算は少し難しかったので何回か見返しましたが、ようやく理解出来たので楽しいです😊無料で学べてありがたいです!🙏
基本情報の勉強をすると、IT全般の知識を体系的に身につけられます。きっと、今後いろんな場面で役に立つと思いますよ👍
板書は少しでも理解につながれば良いなと思って丁寧に書いてるので、そう感じてもらえて良かったです!
これからも、ぜひ楽しく勉強を進めていってくださいね。
2進数などの計算は基本情報試験のテキストで最初に出てきますが、とっつきにくく苦しんでいました。
先生の説明はとても分かりやすく大変ありがたいです!
Yoshito Kさん、コメントありがとうございました!
基本情報はいきなり2進数や基数変換が出てくるので、難しそうな試験だなって感じる人が多いんですよね😄
ここを乗り越えればスムーズに勉強していけると思うので、この先も頑張ってください!
わかりやすいです!
そして板書が大変きれいです!
あとカメラワークのおかげで、復習用のスクショを最小限で抑えられるのも大変ありがたいです!
K. Nakaiさん、コメントありがとうございました!
分かりやすいって感じてもらえて嬉しいです!
板書は少しでも分かりやすさにつながりますようにって願いを込めて書いてます✨
復習用のスクショもぜひバンバン撮ってください(動画最後のスクショタイムもオススメです)
分かりやすかったです!ただこのシフトのづらし方が最初頭の中で出来ないです💦先生のように書き出すと分かり易いのですが時間がかかり過ぎなんでやはり慣れるしか無いですね。
清澤健さん、コメントありがとうございました!
シフトをずらす計算は、紙に書き出してできれば十分ですよ👍
シフトしたビットと他のビットの情報を頭の中でイメージして計算すると、どうしても(覚えることが多いため)計算ミスが起こりやすいです。
僕もシフト演算をするときには紙に書いて計算するので、書く方法に慣れてスピードを上げていく方が確実かなと思います。
現在基本情報技術者試験の勉強中です。
Java bronze を受けるときに先生の動画を見つけて、とてもよく分かりやすいので見ています!(合格もできました😊)
一つ質問ですが、12÷4 でどうして、2進数1=10進数1あまり4になるのか教えていただきたいです🤔
コメントありがとうございました!
そしてJava Bronze合格おめでとうございます🎉🎉
その調子で基本情報も合格目指して頑張っていきましょう!
せっかく質問してくれたので答えたいんですが、「2進数1=10進数1あまり4になる」の意味合いがちょっと分からなかったです‥
お忙しい中、ご返信いただき、ありがとうございます。
5:40あたりだったのですが、見返すと「仮にもう一つずらすと」というお話だったので、解決しました!ありがとうございました☺️
ありがとうございました!!
2進数の乗除算(答が4ビット10進数15までの場合)
●「かける数」「わる数」が【偶数】 ⇒「シフトで」 (頭の中で小数点的なものを移動)
● 「かける数」「わる数」が【奇数】⇒「シフト+加算で」
と覚えます。大丈夫でしょうかO_o
いや、それは間違えている部分がありますね😄
例えば「かける数」「わる数」が【6】のときは、「シフト+加算」になります。
「シフト」だけになるのは、【偶数】ではなく【2の累乗】のときですね。
暗記で乗り切ろうとすると応用が利きにくいので、できればなぜそうなるか?を理解できたら理想かなと思います。
@@SekaChan 先生
お忙しい中お返事ありがとうございました
そうでした!!
「2の累乗≠偶数」でした!!>.<
「2の累乗は必ず偶数」だけれどその逆は成立しない
「偶数は必ずしも2の累乗とは限らない」どころか倍々と行くのだから圧倒的絶対的にその存在は少ない!!ですよね…>.<
そういえば中学校で偶数と2の累乗をそれぞれを赤丸青丸で囲んで…をやった記憶が…^_^
うっかり、ぼんやり、がさつ…改めるよう気をつけます
ありがとうございましたm(_ _)m
割り算はシフト演算ではなく、減算で解くのでしょうか?
動画内では計算しやすいように5を左に1ビットシフトしていますが、
結局やっていることは引き算を何回やったかを見ているだけに感じます。
mondai40さん、コメントありがとうございました。
書いてくれた通り、割り算は「引き算を何回すればよいか」という考え方で計算をします😄
ただ、これを減算だけで計算しようとすると大変なので、シフト演算も組み合わせることで計算効率を上げているイメージですね。
ホワイトボード右側の例では、15÷5 を計算するときに 15-5 を3回計算するのではなく、15-(5x2)-5 とすることで減算が2回になっています。
(一般的に減算よりシフト演算の方が高速にできます)
一つ教えてください。8:30あたりのところの徐算の解説で、なるべく効率よくするために0101を左に1ビットシフトして1010として引くときに、5x2^1とし、さらにもう一度引けるので5x2^0とした場合において、2進数で11が10進数での3なので、これが3回引いたことになる、という部分が理解できませんでした。なぜ、これが3回引いたことになるのかご教示いただけませんでしょうか。どうぞよろしくお願いします。
Hiro Mさん、コメントありがとうございました。
15÷5を2進数で計算するとき、1111から0101を何回引けるかを考えます。
板書の通り 1111-1010-0101=0 となるため、結果として
【0101を2^1倍したもの(=1010)と2^0倍したもの(=0101)】
を引いたことになりますね。
なので、0101を (2^1+2^0) 回引けることになります。
2^1+2^0 を2進数で表現すると11となり、これは10進数にすると3ですね。
‥と書いてはみたものの、文字だけだと余計に分かりにくいですね。。
所々、10進数と2進数を変換しながら考えてみると分かりやすくなるかもしれません。
@@SekaChan ご説明ありがとうございます!なるほど、0101を左に1ビットシフトしたことで2^1、つまり0101の2倍なので2回、そして残りは0101をシフトすることなくそのままなので2^0、つまり1倍で1回、よって2回+1回=3回ということなんですね。とてもよく分かりました!ちなみにもし仮に左に2ビットシフトしたとしたならば、2^2で4倍で元の値の4回分という理解であっていますでしょうか?
3×5の説明にある、3×2の2乗+3×2の0乗がわかりませんでした。。。
コメントありがとうございました!
たしかに、ここはわかりにくいですよね‥
【3×5】→【3×4+3×1】→【3×2^2+3×2^0】 ※【2^2】は「2の2乗」
このように式変形をしているイメージですね。
5を2の累乗の足し算に分解することで、シフト演算を活用できるようになります。
@@SekaChan 返信ありがとうございます!!やっと理解できました!!
割り算が分かりにくい
T K.さん、コメントありがとうございました!
たしかに割り算は難しいですよね‥
いろいろ工夫はしてみたんですが、分かりにくかったみたいでごめんなさい🙏
もし分からないところを具体的に教えてもらえたら、できる限りコメント欄で補足できればと思います。