【A試験_基礎理論】03. 2進数の足し算・引き算 | 基本情報技術者試験
ฝัง
- เผยแพร่เมื่อ 5 ก.ค. 2024
- ✅講義資料:note.com/kihonzyouhou/n/n451b...
基本情報技術者試験の基礎理論分野を学ぶコースです。
この動画では2進数の足し算と引き算を学習します。足し算は簡単ですが、引き算は少しややこしく、符号ビットや補数表現という新しい考え方が出てきます。
頑張って学んでいきましょう!
※コメント欄に記載いただいた質問はできる限り回答しますので、お気軽に記載して下さい。
▼この動画の目次
00:00 イントロ
00:13 2進数の足し算
01:48 2進数の引き算の考え方
02:22 符号ビット
04:46 補数表現
09:44 2進数の引き算の手順
11:52 8ビット2進数が表現できる数値の範囲
13:58 過去問練習
▼チャンネル登録はこちらからお願いします。
/ @kihonzyouhou
=================
基本情報技術者試験に合格するための対策講座を作成しています。
テストに出題される全分野をアニメーションを用いて解説し、無料で楽しく体系的に学べるチャンネルを目指しています。
※毎週【火曜・木曜・土曜】18:00更新
※質問はコメント欄へ
▼使用BGM
OtoLogic様( otologic.jp/ )「明から明スイッチ」
DOVA-SYNDROME様(dova-s.jp/)「Morning」
beco (騒音のない世界) 様:(th-cam.com/channels/2KN.html...
#基本情報技術者試験
#2進数の足し算・引き算
#補数表現
#符号ビット
#基礎理論
#勉強法
#IT系資格
#すーさん
分かりやすいはずなのによくわからないので後10回見直します
Twitterで見たけど、超一流IT企業の社員でも、一度動画見ても分からない事は普通にあるとのこと。分からない事があったら何度も何度も動画を見るらしい。
だから、一度見て分からなくても、当たり前。
私はおすすめに出てくる参考書1冊は合わなくてギブアップ、2冊目は一読できた、で、参考書が重くてこの動画に巡り合った。
とても分かりやすいので助かってます。来年3月までには一度は受験したいです。
ありがとうございます!試験内容を完璧に理解出来てなくても合格できる(僕は9割くらいの点数を取りましたが、TH-cam動画作る際に自分の理解が間違ってたことに気づいたことも多々ありますw)ので、気負いすぎずに頑張ってください^^
また、A 試験は過去問演習がいちばん重要なので、ある程度の知識を入れたら過去問に挑戦してみてください。最初は挫折すると思いますが、3回分くらいの過去問を2〜3周すると景色が変わってきます。
通っている学校の授業が分かりづらく困っていたところ、このチャンネルを知りました。
とても分かりやすく説明してくださり助かります!!
嬉しいコメントありがとうございます!
ぜひご活用いただけると幸いです^^
補数を用いて演算は画期的で感動いたしました!
難しいですが面白いですよね!
コメントありがとうございます😊
現在中学2年生なのですが、将来情報技術が必要になってくると知って、勉強してみようと思っているところです。わかりやすい解説ありがとうございます😊頑張ります!
中学生がTH-camでこんな資格の勉強をされているなんて素晴らしすぎます..👏
中学生のことの自分に見習わせたいです笑
がんばってください^^
最近勉強を始めて補数で躓いていたので、このチャンネルを見つけられて良かったです😭✨
主様の動画を参考に、合格目指して頑張ります!
お役に立てたようで良かったです!ぜひ頑張って下さい👍
大学の授業分かりにくかったからめちゃくちゃありがたい...!
嬉しいお言葉ありがとうございます!お役に立てたようで嬉しいです^^
ぜひご活用頂けると幸いです!
分かりやすくて助かっています✨
ありがとうございます!
こちらこそコメントありがとうございます!そう仰っていただけて幸いです🙇♂️
とても分かりやすい解説でありがたいです!
コメントありがとうございます!お役に立てて嬉しいです^^
すーさん!お疲れ様です。独学で本を見てやった時は引き算を何でできないのか、なんで補数を使うかわからないから理解できず暗記しようとしたらもう嫌になってましたけど、今回の動画も本当に助かります。すっきり理解できて演習問題解けて感度しました!ありがとうございます。
お役に立てて嬉しいです^^
引き続き頑張ってください!!
わかりやすい説明で助かりました。
こちらこそ投げ銭ありがとうございます🙌
お役に立てて良かったです!
学生時代、補数の考えが分からずそういうものっておぼえてたので、この解説をみてやっと腑に落ちてどういう理論で反転後に+1するのか?なども納得することができました!
良かったです!ありがとうございます^^
普通にもっと伸びてもいい。すごく助かる動画です。
応援してます。
ご視聴ありがとうございます、そうおっしゃって頂けて大変ありがたいです!更新頑張ります!
10進数の補数の説明のおかげで2進の補数が理解できました
めっちゃわかりやすかったです
コメントありがとうございます!お役に立てて幸いです^^
中国語でコンピュータの知識を勉強する時、「なぜ補数はビット反転の結果に1を加える」という理論は全然知らない、その動画からはっきり分かりました。ありがとう
こちらこそありがとうございます!
テキストでは理解できなかったけど、この動画で一発で理解できました。めっちゃわかりやすかったです...!
高校在学中、4か月以内に試験を合格できるように頑張ります!
お役に立てたようで良かったです!高校生で基本情報を目指されるのは素晴らしいですね👏(僕は社会人になるまで存在すら知りませんでした笑)
在学中の取得ぜひ頑張ってください!
コンピュータは足し算ができないため符号と補数の概念があるのか、目覚めました😮
✅講義資料:note.com/kihonzyouhou/n/n451b6df325f5
▼▼再生リスト▼▼
基礎理論コース
th-cam.com/video/YZYxu6RyQIA/w-d-xo.html
基本情報技術者試験の概要(※最初にご覧頂くことをオススメしています。)
th-cam.com/play/PLEuyFWEF8u0OhszLVxc38rmwgjfWX6wzG.html
コンピューターでの負の数の表現
→符号ビット(0が正、1が負)と補数表現
符号ビットだけではひき算できないから補数表現も使う
4:57 nの補数→桁上がりする最小値
n-1の補数→桁上がりしない最大値
8:21 2進数の補数の作り方
逆に2の補数に同じ処理をすることで元に戻る!
14:02 過去問もう一回解く
いつも分かりやすい動画をありがとうございます。
2進数の2の補数の作り方について、「1をプラスする」操作は、正確に表現すると「0ビット目に1をプラスする」という解釈であっていますか?15:28で1をプラスする操作で混乱してしまいました。
こちらこそいつもご視聴ありがとうございます。そして鋭いご指摘ありがとうございます...!仰る通り「最下位ビットに1を加える」が正しいです。混乱させてしまいすみません🙇♂️
ありがとうございます。とてもスッキリしました!
8ビット2進数の符号付、無しの表が理解できないので教えてください。-127は10000001で先頭が1なので、これは-127ではなく-1ではないのでしょうか。-1も11111111とありますが、これも先頭が負の数を表しているので、下7桁がすべて1の-127とはならないのでしょうか?すみません教えてください。
2進数の表は補数表現で負の数を表しています。
例えば、10000001は2の補数で表現された負の数です。これを 09:29 で説明しているやり方で元の数に直すと01111111(=127)になりますよね。(※ビット反転させて最後に1を加えています。)
つまり、10000001は01111111(=127)を補数で表現した値のことなので-127となります。
ちなみに、動画の前半で説明している通り、2進数の負の数の表現方法はいくつかありますので、表現方法によっては「-127は10000001で先頭が1なので、これは-127ではなく-1ではないのでしょうか。-1も11111111とありますが、これも先頭が負の数を表しているので、下7桁がすべて1の-127とはならないのでしょうか?」という考え方もOKです。
ただし「2の補数で負の数を表現する」と指定された場合は上記考え方は間違いですのでご注意ください。
@@kihonzyouhou 早速のご連絡ありがとうございます。理解いたしました。いつも拝見しております。今後も宜しくお願いします。
@@kou2610 同じく、表現方法が複数あるんだということが分からないまま動画の後半を見てしまうので、躓いていました。「補数表現での負の数」と「絶対値表現での負の数」というのは別物の考え方として定義されている、ということで理解しました。
「10000001は127の歩数表現」というのはわかったのですが、よって-127になるのが分からなかったです。10000001の最初が1:負であるから、反転して+1して求めた元の2進数の値は0:正となっているがマイナスがつくということなのでしょうか、、?
また、最後の表の左の列が「2進数の2の補数」ではなく、「2進数」となっているのがよく分からなかったです、、符号無し2進数の時は2進数の列をそのまま計算すれば良いが、符号付き2進数の場合は2進数の列は2進数の2の補数になるということでしょうか?
参考書も読みながら動画を見て理解しました。
「10進数3桁で考えた時に123の10の補数は877。123+877=1000で4桁目の1は無視されて123+877=000となるので877は123の対の負数(-123)となっている」
を8ビット2進数に置き換えて考えたら良いということですかね、、
2進数の負の数の表現は大きく二つ
一つめ、 先頭ビッドを符号(0,1)としてそれ以外を絶対値として表現
二つめ、先頭ビッドを符号として2の補数で表現
いつも分かりやすく説明してくださってありがとうございます!
質問なんですが、15:10の解説の部分で8ビットだから0を付けて桁合わせするのはわかるんですが、なぜ前と後ろに1つずつなんでしょうか?小数点位置は3ビットと4ビットの間なのに後ろに0をつけてしまうことで、4ビットと5ビットにずれてしまうのでは?と困惑しています。
ご質問ありがとうございます!
ゴージャスさんは「桁に合わせて小数点位置が変わる」と理解されてると思いますが、固定小数点形式はその逆で、小数点位置は変わらず固定され、小数点に合わせて桁を埋めていきます。
ですので、最初と最後に0を出したというわけです〜
@@kihonzyouhou なるほど!そういうことやったんですね!
理解しました(^^)
ありがとうございます!!
文系でテキストのみで勉強するのが苦痛だったので助かります!
詳しく丁寧な授業をありがとうございます!
この動画の内容だけで知識としては合格するにはテキスト要らずのような気がしてきました
動画をインプットのメインにして問題演習に入り、テキストは辞書的に使うという勉強はアリでしょうか?
はい、大丈夫です。実際動画だけで合格された型も多くいます。A試験は教材だけでのインプットには限界があり、過去問をたくさん解くことが重要なので、正直インプット手段はなんでも良いです。ご自身がやりやすい教材を選択してください!
ご丁寧に返信ありがとうございます。頑張りますね!@@kihonzyouhou
基礎理論の範囲ってこんなに広いのかって挫折しかかってる
実は最初に学ぶ分野であり、かつ最初の関門だったりします。。。一歩ずつ頑張っていきましょう!
@@kihonzyouhou ありがとうございます!引き続き頑張ります。。。
情報Iのテストはんいでわからなかったのですが、理解できました。
100111!(サンキュー!)
良かったです!!2進数使いこなしていますね👍
自分用メモ
12:28 2の補数表現なので、これを何かに足して、一番上の位を無視したら引き算ができる。
ただし、補数表現はぱっと見なんの補数表現か元の値がわからないのでなおす必要あり。
最初の値をマイナスにするだけではだめ。
nの補数が桁上がりするのに必要な最小の数である点と、補数の求め方は理解できましたが、
そこから転じてなぜ2の補数が5.625の負(-5.625)になるのでしょうか、、?
対象の数の補数=−(対象の数)と解釈していいのでしょうか、、?
初歩的な質問で申し訳ありませんが教えていただきたいです。
負数には2の補数を用いると問題文に指定されているのでその認識で合っています!
わかりました!ありがとうございます🙇🏻
12:50あたりでおっしゃっている、符号付2進数で考えると -128 になるとはどういうことなのでしょうか?
この動画で説明しています!
th-cam.com/video/EFSR8WE2loQ/w-d-xo.html
すごく分かりやすい動画ありがとうございます!
お陰様で勉強が楽しくなって毎日続けてます!
ひとつどうしても理解できない点があります…
2の補数から元の数を導く際に逆の手順ではなく2の補数を導く時と同じ手順をすればよいというところが感覚で掴めません…
結果から見ればそうなる事はわかるのですが感覚的にピンと来ないので教えていただけると幸いです…
考えずに覚えた方が良ければその旨ご回答いただければ幸いです🙇♀️
こちらこそいつもありがとうございます^^
2の補数の計算は覚えちゃってください!実は僕も詳細なところは理解してないです笑
@@kihonzyouhou
すみません返信できていないままになってました💦
承知しました!そしたら覚える形で対応します☺️
ありがとうございます!
0011011は「10進数101の2の補数」という表記がピンと来ません。
10進数101を2進数に変換した場合の2の補数、ということでしょうか。
最後の練習問題の、プラス1を整数部ではなく少数部の一番右にするのがわかりません。もう覚えてしまった方が良いですか?
2の補数への変換方法のことでしょうか。そうであればやり方を覚えてください。
古いコメントですが自分の理解のために返信します。
自分も始め同じことを考えたのですが、そもそもなぜ反転と+1で補数を求められるのかを考えたら理解できました。結論から言うと、ここでの+1は必ずしも1の位の1ではなく、「すべての位が1の数値(例: 11.11)に足して、最も大きい位だけが1の数値(例: 100.00)になるようにするための1」です。
補数は特定の数を基準の数から引いた数です。その時、基準の数はその桁で表すことのできる最大の数+1です。今回の場合であれば、8桁なので1111.1111に1(これが最後の+1)を足した10000.0000が基準の数です。ここで、1111.1111のように全ての桁が1のとき、そこらか何を引いても結果は反転した数値になります。これを利用することで、補数を反転と+1によって算出できます。つまりこれは、基準の数を「すべての桁が1の数値」と「それを基準の数にするために一番小さな位に足す1」に分けて計算する方法なのです。そのため、最後の+1は1111.1111を10000.0000にするための数値であり、小数部の一番右に足すのです。
わかりやすすぎる神授業(´;ω;`)!ありがとうございます!
こちらこそ嬉しいコメントありがとうございます!ご活用いただけると幸いです🙏
自分用メモ
補数がその数の負の値を表している。
コメント欄にメモ残すやつは勉強下手あるある
1011 (2進数)
・先頭ビッドを符号
・負の数を2の補数で表現するとします。(絶対値の表現ではございません。)
符号なし 10進数表記
1011→ 11
符号付 10進数表記
1011→
すみません、符号付きの答え出し方が何度も動画を見てもわかりません。
どのようにして、計算するのでしょうか?
絶対値の負の数とは別の表現ということ理解してます。
1点教えていただけますでしょうか。
過去問(14:00)で、5.625を2進数で表現して、その補数を取ると問いの答えになる理由はなんでしょうか。
5.625の2の補数が負の数(-5.625)になるからです
@@kihonzyouhou
ご回答いただきありがとうございます。
「5.625の2の補数が負の数(-5.625)になるから」の根拠は、
11:54の表で、一番右の列においては同じ整数同士のものは補数関係にあることという理解で正しいでしょうか。
ついつい10進数の数に引っ張られてしまい、同じ整数同士の正の数と負の数を足すと解は0になり、桁上がりしないので補数関係にはならないのではと思ってしまい、、
@@SK-ir3jn さん
いえ、問題文で「2進数の負の数は2の補数で表現する」と記載されているからです。
2進数の負の数の表現方法はいくつかありますので、試験ではこのように問題文で明記されます
@@kihonzyouhou
そこが根拠になるのですね!大変勉強になりました、ありがとうございます!
N進数の減算を調べていたのですが、補数ではなく普通の引き算の計算式で行う方法もあって混乱中です。進めていけばわかるのかな…??
引き算をする方法は色々あります。ただ、試験では「引き算をする際は2の補数を使う」と問題文で指定されることが多いので、その際は2の補数で引き算すればよいです。(逆に言うと、2の補数の引き算ができるようになっておかないと、試験で解答出来ない可能性が高くなります。)
コメントを拾っていただきありがとうございます!
理由がわかってスッキリしました。
文系ですが動画がすごく見やすくて頭に入ってくるので、UPしていただいて感謝しています。
完了
全然わからない
パート1から見てノート取ってるけどさっぱり
お役に立てずすみませんm(__)m
動画が合わないようであれば、他の方のチャンネルやす書籍教材などもご検討してみてください。
「補数」の定義 (意味) は理解できましたが、「1 の補数」というのが何を意味し、指しているのか分かりません。
教えてください。
「1の補数」とかで検索してみて下さい!僕もネットに落ちている情報以上は把握しておらず...。(ちなみに1の補数について理解してないが為に困ったことは人生で一度も無いです笑)
@@kihonzyouhou 動画を見直すと分かりました。ご回答ありがとうございます。
引き算方法とありますが、そもそも引き算という概念がないので、コンピューター上では負の数は正の数にマイナスの符号ビットをつけて表現するのではなく、2の補数で表現するしかない(足し算して求めるため)、ということですね!最後の問題が引き算ではなくマイナスの表現だったので最初「?」となってしまいました笑
補数表現は混乱しますよね〜腹落ちされたようで良かったです!
最後の問題で何を勘違いしたのか、2進数表記まではできたのにそのあとに、整数部の0101の先頭にある「0」を符号ビットと思い込んでしまい、結果が変わってしまいました()
問題文の中に「先頭を符号ビットとする」という命令がなければ、そのまま扱うとちょっと前のところで言われていたのに忘れているというw
なかなかその辺も大変ですが、読解力も身に着けないとですね…
問題のクセが強いので、最初は戸惑いますよね💦
慣れで解決することも多いので、過去問を解いて克服していきましょう👍
2進数は桁が一個増えると表せる数字が2倍に増える
という事は1番左のビットが0→1になるタイミングが全体の折り返し地点になる
なので先頭ビットが0のうちはプラスとして、1が付いた時点からをマイナスとする事で半々でプラマイどちらも表せる様にした
そして先頭ビットが0=プラス、1=マイナスとして、それより後ろの数値をそのまま読むパターンと、反転させたものに+1した(2の補数)ものにマイナスをつけるパターン の2つが紹介されていた
こんなイメージで合ってます?
これって2年前の投稿ですけど今も内容は変わってないですか?
大まかには変わってないです
丁寧な解説で分からない人向けに解説して貰えるので非常にありがたいです。こういう動画って結構”初心者お断り”みたいな動画が多くて、結局解説中端折られている部分が視てる側からは分からなかったり、逆に分かってる部分に時間が裂かれていたりで…。
この界隈で有名?な渡◯◯キさんなどの動画も観ましたが正にそれでググったりで余計に時間が掛かりました。その分一本あたりの動画は短いのでトータルの時間と労力を考えたらトントンかも知れませんがすーさんさんの動画は動画だけでほぼ完結出来る手軽さも良いです。
まぁ結局は自分が問題が解ける様にならなきゃならないのでゴールは同じですがね。
続きも視聴し新テスト一発合格を目指します。
勿体ないお言葉ありがとうございます🙌
お役に立てているようで嬉しいです!
網羅性を意識しているので、とても励みになるコメントでした🙇♂️
2進数 1011 は-3であるのに対して
1000000 が-128になるのが分かりません
前者は符号ビットを用いてマイナスの数を表現したケース、後者は2の補数で表現したケースです。マイナスを表現する方法はいくつかあり、その2つは別々の方法で表現したものですので、単純比較は出来ないです!
@@kihonzyouhou ご回答ありがとうございます。
次の動画を見ていき理解出来ました。
これでも分からない俺はほんとにアホだ、、、
補数は難しいので気にしないで大丈夫です!!
頑張りましょう👍
???12分の辺りからわからなくなった。符号が既に1なのだから1000001は-2のゼロ乗で、-1なのでは?何故ここでも反転させてるの?
1000001を10進数にするといくつか、ではなく、10000001は10進数にした幾つの数の補数か、って事?
符号が0の時は普通に10進数の数を問いているのに?
www.cc.kyoto-su.ac.jp/~kbys/kiso/number/negative.html
同じことを思い調べました。こちらが参考になるかと思いますので、良かったらご覧ください。
符号無2進数の128で 補数を算出する理由がわからないです。
元の数値を求めるため?
1000000 が-128になるのかがわからないです。 これ以降がわからん。
表の一番左は2進数の2の補数で表現しているってことでしょうか?
@@shumiya1351
一番左の2進数に対し
真ん中:符号なし2進数で表現されていると捉えた場合の数値
右端:符号付き2進数で表現されていると捉えた場合の数値(=2の補数で負の数を表現する数値)
です
@@kihonzyouhou
10000001は2の補数で表現された負の数です。と他のコメントでされています。。。
どう意味でしょうか?
1000000
128の2の補数= 符号付き2進数が-128
上記の考えになる理由がわからないです。
12:50