2進数のかけ算と割り算に使われるシフト演算とは【情報I基礎】2-1-6 2進数の乗除算

Поделиться
HTML-код
  • Опубликовано: 3 дек 2024

Комментарии • 34

  • @hirom319
    @hirom319 Год назад +5

    シフト演算の徐算で余りが出る場合のところの意味が今までテキストを見ても分からなかったのですが、今回この動画の解説を見てそういうことだったのかと理解できてとても嬉しいです!しかもどの講座も説明がとても分かりやすいです

    • @SekaChan
      @SekaChan  Год назад +1

      Hiro Mさん、コメントありがとうございました!
      2進数の除算って難しいところなので、この動画で理解できたみたいで良かったです。
      これからも分かりやすい動画を作っていけるように頑張ります!

  • @yoshitok6500
    @yoshitok6500 Год назад +4

    2進数などの計算は基本情報試験のテキストで最初に出てきますが、とっつきにくく苦しんでいました。
    先生の説明はとても分かりやすく大変ありがたいです!

    • @SekaChan
      @SekaChan  Год назад +2

      Yoshito Kさん、コメントありがとうございました!
      基本情報はいきなり2進数や基数変換が出てくるので、難しそうな試験だなって感じる人が多いんですよね😄
      ここを乗り越えればスムーズに勉強していけると思うので、この先も頑張ってください!

  • @ましろ-z8h
    @ましろ-z8h Год назад +2

    テキストを読むだけでは頭に入ってこないことが、スっと理解出来ました!ありがとうございます!基本情報技術者試験を受けようと思ってるので頑張ります!!

    • @SekaChan
      @SekaChan  Год назад +2

      ましろさん、コメントありがとうございました!
      2進数の計算って難しいですよね。僕も最初は苦労しました💦
      2進数は情報量やネットワークなどでも出てくるので、しっかり理解できればこの先にもつながると思います。
      基本情報の勉強、ぜひ頑張ってください!

  • @KNakai
    @KNakai Год назад +4

    わかりやすいです!
    そして板書が大変きれいです!
    あとカメラワークのおかげで、復習用のスクショを最小限で抑えられるのも大変ありがたいです!

    • @SekaChan
      @SekaChan  Год назад +3

      K. Nakaiさん、コメントありがとうございました!
      分かりやすいって感じてもらえて嬉しいです!
      板書は少しでも分かりやすさにつながりますようにって願いを込めて書いてます✨
      復習用のスクショもぜひバンバン撮ってください(動画最後のスクショタイムもオススメです)

  • @Ohikelbi
    @Ohikelbi Год назад +3

    基本情報技術者試験に興味があって動画を見ています。とにかく板書がものすごくキレイなのと、話すペースが丁度良くて勉強がはかどります!除算は少し難しかったので何回か見返しましたが、ようやく理解出来たので楽しいです😊無料で学べてありがたいです!🙏

    • @SekaChan
      @SekaChan  Год назад +3

      基本情報の勉強をすると、IT全般の知識を体系的に身につけられます。きっと、今後いろんな場面で役に立つと思いますよ👍
      板書は少しでも理解につながれば良いなと思って丁寧に書いてるので、そう感じてもらえて良かったです!
      これからも、ぜひ楽しく勉強を進めていってくださいね。

  • @555villanova5
    @555villanova5 2 года назад +3

    2^nではない場合の乗除の説明ありがとうございました。
    お恥ずかしいですが長年の謎のまま放りっぱなしでした。
    でも多倍長乗算などを調べると難解・・・
    全くの素人である知人から、分かり易いWeb開発の基礎知識解説は無いかと尋ねられ、この動画へたどり着きました。
    一番わかり易いと思いました。「せかチャン」さんの動画を推薦しておきました。
    今後のご活躍を祈念します。
    ありがとうございました。

    • @SekaChan
      @SekaChan  2 года назад +1

      555 villanovaさん、コメントありがとうございました!
      2の累乗以外の乗除算は、結構知らない人が多いんじゃないかなと思います。
      もし長年の謎が解けたのなら、この動画を作った甲斐がありました😄
      また、せかチャンを推薦してもらってありがとうございました!
      その知人さんにも満足してもらえる動画を作っていけるように今後もがんばります!

  • @なーるる-c6f
    @なーるる-c6f 2 месяца назад +1

    応用情報の離散数学の部分がテキストでは、はにゃ?って感じでわからなかったのが、動画を見てスッキリしました🌟計算方法を加算と反転とシフトでやるっていう発想を思いついて人は天才すぎますね笑 また、つまづいたら動画見返したりコメントさせていただきます✏

    • @SekaChan
      @SekaChan  2 месяца назад

      たしかに、こういう内容は動きがある説明のほうが分かりやすいですよね😄
      「乗除算を加算&反転&シフトで計算」もそうですし、僕の中では「減算を補数の加算で計算」を思いついた人も天才だと思ってます。笑
      また必要なときに、視聴&コメントしにきてください!

  • @hemiplegiaKen
    @hemiplegiaKen Год назад +1

    分かりやすかったです!ただこのシフトのづらし方が最初頭の中で出来ないです💦先生のように書き出すと分かり易いのですが時間がかかり過ぎなんでやはり慣れるしか無いですね。

    • @SekaChan
      @SekaChan  Год назад

      清澤健さん、コメントありがとうございました!
      シフトをずらす計算は、紙に書き出してできれば十分ですよ👍
      シフトしたビットと他のビットの情報を頭の中でイメージして計算すると、どうしても(覚えることが多いため)計算ミスが起こりやすいです。
      僕もシフト演算をするときには紙に書いて計算するので、書く方法に慣れてスピードを上げていく方が確実かなと思います。

  • @hirom319
    @hirom319 Год назад +3

    一つ教えてください。8:30あたりのところの徐算の解説で、なるべく効率よくするために0101を左に1ビットシフトして1010として引くときに、5x2^1とし、さらにもう一度引けるので5x2^0とした場合において、2進数で11が10進数での3なので、これが3回引いたことになる、という部分が理解できませんでした。なぜ、これが3回引いたことになるのかご教示いただけませんでしょうか。どうぞよろしくお願いします。

    • @SekaChan
      @SekaChan  Год назад +1

      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進数を変換しながら考えてみると分かりやすくなるかもしれません。

    • @hirom319
      @hirom319 Год назад

      @@SekaChan ご説明ありがとうございます!なるほど、0101を左に1ビットシフトしたことで2^1、つまり0101の2倍なので2回、そして残りは0101をシフトすることなくそのままなので2^0、つまり1倍で1回、よって2回+1回=3回ということなんですね。とてもよく分かりました!ちなみにもし仮に左に2ビットシフトしたとしたならば、2^2で4倍で元の値の4回分という理解であっていますでしょうか?

  • @mondai40
    @mondai40 Год назад +1

    割り算はシフト演算ではなく、減算で解くのでしょうか?
    動画内では計算しやすいように5を左に1ビットシフトしていますが、
    結局やっていることは引き算を何回やったかを見ているだけに感じます。

    • @SekaChan
      @SekaChan  Год назад

      mondai40さん、コメントありがとうございました。
      書いてくれた通り、割り算は「引き算を何回すればよいか」という考え方で計算をします😄
      ただ、これを減算だけで計算しようとすると大変なので、シフト演算も組み合わせることで計算効率を上げているイメージですね。
      ホワイトボード右側の例では、15÷5 を計算するときに 15-5 を3回計算するのではなく、15-(5x2)-5 とすることで減算が2回になっています。
      (一般的に減算よりシフト演算の方が高速にできます)

  • @nitsa6487
    @nitsa6487 Год назад +1

    現在基本情報技術者試験の勉強中です。
    Java bronze を受けるときに先生の動画を見つけて、とてもよく分かりやすいので見ています!(合格もできました😊)
    一つ質問ですが、12÷4 でどうして、2進数1=10進数1あまり4になるのか教えていただきたいです🤔

    • @SekaChan
      @SekaChan  Год назад +1

      コメントありがとうございました!
      そしてJava Bronze合格おめでとうございます🎉🎉
      その調子で基本情報も合格目指して頑張っていきましょう!
      せっかく質問してくれたので答えたいんですが、「2進数1=10進数1あまり4になる」の意味合いがちょっと分からなかったです‥

    • @nitsa6487
      @nitsa6487 Год назад +1

      お忙しい中、ご返信いただき、ありがとうございます。
      5:40あたりだったのですが、見返すと「仮にもう一つずらすと」というお話だったので、解決しました!ありがとうございました☺️

  • @キュータ坂内
    @キュータ坂内 4 месяца назад +1

    15/5他の汎用的な解き方ないでしょうか。割り算だけ難しくてよく理解できませんでした。。。

    • @SekaChan
      @SekaChan  4 месяца назад +1

      たしかに割り算は難しいですよね‥
      15/5の答えを2進数で求めるだけなら、ぶっちゃけ15/5=3をして、3を2進数にすれば簡単に求められます。
      ここは【シフトで割り算ができる】ということを押さえてもらえれば大丈夫ですよ😄

  • @user-gk5gx2ww7g
    @user-gk5gx2ww7g 8 месяцев назад +1

    ありがとうございました!!
    2進数の乗除算(答が4ビット10進数15までの場合)
    ●「かける数」「わる数」が【偶数】 ⇒「シフトで」 (頭の中で小数点的なものを移動)
    ● 「かける数」「わる数」が【奇数】⇒「シフト+加算で」
    と覚えます。大丈夫でしょうかO⁠_⁠o

    • @SekaChan
      @SekaChan  8 месяцев назад +1

      いや、それは間違えている部分がありますね😄
      例えば「かける数」「わる数」が【6】のときは、「シフト+加算」になります。
      「シフト」だけになるのは、【偶数】ではなく【2の累乗】のときですね。
      暗記で乗り切ろうとすると応用が利きにくいので、できればなぜそうなるか?を理解できたら理想かなと思います。

    • @user-gk5gx2ww7g
      @user-gk5gx2ww7g 8 месяцев назад +1

      @@SekaChan 先生
      お忙しい中お返事ありがとうございました
      そうでした!!
      「2の累乗≠偶数」でした!!>⁠.⁠<
      「2の累乗は必ず偶数」だけれどその逆は成立しない
      「偶数は必ずしも2の累乗とは限らない」どころか倍々と行くのだから圧倒的絶対的にその存在は少ない!!ですよね…>⁠.⁠<
      そういえば中学校で偶数と2の累乗をそれぞれを赤丸青丸で囲んで…をやった記憶が…^⁠_⁠^
      うっかり、ぼんやり、がさつ…改めるよう気をつけます
      ありがとうございましたm(_ _)m

  • @あさみ-z4l
    @あさみ-z4l Год назад +1

    3×5の説明にある、3×2の2乗+3×2の0乗がわかりませんでした。。。

    • @SekaChan
      @SekaChan  Год назад

      コメントありがとうございました!
      たしかに、ここはわかりにくいですよね‥
      【3×5】→【3×4+3×1】→【3×2^2+3×2^0】 ※【2^2】は「2の2乗」
      このように式変形をしているイメージですね。
      5を2の累乗の足し算に分解することで、シフト演算を活用できるようになります。

    • @あさみ-z4l
      @あさみ-z4l Год назад +1

      @@SekaChan 返信ありがとうございます!!やっと理解できました!!

  • @tk.1476
    @tk.1476 Год назад +3

    割り算が分かりにくい

    • @SekaChan
      @SekaChan  Год назад +1

      T K.さん、コメントありがとうございました!
      たしかに割り算は難しいですよね‥
      いろいろ工夫はしてみたんですが、分かりにくかったみたいでごめんなさい🙏
      もし分からないところを具体的に教えてもらえたら、できる限りコメント欄で補足できればと思います。