
基本情報技術者試験の問題について、
数値表現の問題でわからないものがあるので解説お願いしたいです。
—-
(1)8桁の2進数(11110011)2の2の補数は____
(2)負数を2の補数で表すとき、(1)の2進数(11110011)2を10進数で表すと____になる
—-
(1)は、ビットを反転+1で、
(00001101)2が答えになることは理解しています。
(2)について、(11110011)2の補数が(00001101)2であることから、答えは13と解答に書かれているのですが、これが理解できないです。
なぜ「負数を2の補数で表す」となったときに、元の数である(1)(11110011)2を10進数に直した値を、
2^7*1+2^6*1+…2^0+1と求めてはいけないのでしょうか?
負数を2の補数で表すと言っていることから、1ビット目がマイナスを表すことになるのか?と思ったのですが、1ビット目を抜いても-13にはならないのでよくわからず困っています。
わかりづらい文章で申し訳ありません。
解説お願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
「2の補数」の意味を理解していますか?
例えば、「4ビットだけで表わされた2進数」0010(2) = 2(10) の「負数」とはどういうことか考えてみましょう。
ここで
0010(2) + XXXX(2) = 1 0000(2)
となったときに、右辺の一番左の「1」は「4ビットだけで表わされた2進数」では「オーバーフロー、桁あふれ」になるので、存在しないことになります。
つまり
0010(2) + XXXX(2) = 0000(2) ①
ということになります。
「足すと 0 になる数」なので「XXXX(2)」は「0010(2)」の負数(同じ絶対値で、符号を付けた数)ということになります。
それが「2の補数」という考え方です。
「2の補数」を作るには
(i) もとの数「0010(2)」の 0 と 1 をひっくり返す。つまり
0010(2) → 1101(2)
これを「1の補数」というかな?
(ii) それに「1」を足す。つまり
1101(2) + 0001(2) = 1110(2)
これが「2の補数」です。
①になるかやってみれば
0010(2) + 1110(2) = 1 0000(2)
になるので、「1110(2)」は「0010(2)」の「負数表記」になることが分かります。
この「4ビットの2進数で、2の補数で負数を表す」とした場合には、「1110(2)」の先頭ビットの「1」は「負数」であることを示し、「4ビット全体で負数を表す」のであって、「1110(2)」そのものを通常の「2進数」と考えて
1110(2) = 14(10)
としても意味がありません。あくまで
1110(2) は 0010(2) の負数表現、1110(2) = -0010(2) = -2(10)
ということです。
つまり
・正数:0000(2) ~ 0111(2) = 0(10) ~ 7(10)
・負数:1000(2) ~ 1111(2) = -1(10) ~ -8(10)
という表記になるのです。
「2の補数で負数を表す」場合には、先頭ビットの「1」がマイナス負号を、「2の補数で表した2進数」がその「絶対値」を表すのです。
お示しの例題の場合には、
(1) 8桁の2進数 (11110011)2 は、「2の補数で負数を表す」とした場合には、先頭ビットが「1」なのでこれは「負数」です。
その「絶対値」が、2の補数である
(00001101)2 = 13(10)
です。
つまり
(11110011)2 = -13(10)
ということ。
先頭ビットが「1」の「負数」は、そのままでは「2進数表記」とはみなせません。「2の補数」で「正数」に置き換えてから、それに「負号マイナス」を付けて初めて「10進数の数値化」できるのです。
>(2)について、(11110011)2の補数が(00001101)2であることから、答えは13と解答に書かれているのですが、これが理解できないです。
答は「13」ですか? 「-13」と書かれていませんか?
「(11110011)2」の先頭ビットが「1」なので、これは負数。
「(11110011)2」の「2の補数」が「(00001101)2」なので、絶対値は「13」。
従って、
(11110011)2 = -13(10)
という風になっていませんか?
上に書いたように、「2の補数で負数を表す」場合には、先頭ビットの「1」がマイナス負号を、「2の補数で表した2進数」がその「絶対値」を表すのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 情報処理技術者・Microsoft認定資格 2進数の問題を教えてください。 1 2022/07/27 09:42
- 情報処理技術者・Microsoft認定資格 情報技術の問題についてです。 10進数の−36を以下のような16ビットの浮動小数点表示にするといくつ 3 2022/05/21 19:53
- 計算機科学 2進数の計算について 2進数の値は全て8ビットで負数は2の補数形式とする。結果が8ビットで表現出来な 3 2023/07/22 14:08
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- 数学 【 数Ⅰ 2次関数 】 問題 関数y=mx²+4x+m-3において,yの値が 常に負であるという条件 2 2022/10/01 15:08
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- 数学 【 数I 放物線と直線の共有点 】 問題 放物線y=x²+ax+bが点(1,1)を通り, 直線y=2 4 2022/07/18 09:57
- 数学 中一数学の【最大公約数と最小公倍数】の問題です。 1問だけでも教えていただけると嬉しいです。 (1) 4 2022/08/01 10:19
- 数学 数学の問題の解き方を教えてください! 3 2022/11/02 17:32
- 計算機科学 ビット計算 2 2023/04/16 14:26
関連するカテゴリからQ&Aを探す
医師・看護師・助産師
薬剤師・登録販売者・MR
医療事務・調剤薬局事務
歯科衛生士・歯科助手
臨床検査技師・臨床工学技士
理学療法士・作業療法士・言語聴覚士
臨床心理士・心理カウンセラー・ソーシャルワーカー
介護福祉士・ケアマネージャー・社会福祉士
弁護士・行政書士・司法書士・社会保険労務士
フィナンシャルプランナー(FP)
中小企業診断士
公認会計士・税理士
簿記検定・漢字検定・秘書検定
情報処理技術者・Microsoft認定資格
TOEFL・TOEIC・英語検定
建築士
インテリアコーディネーター
宅地建物取引主任者(宅建)
不動産鑑定士・土地家屋調査士
マンション管理士
電気工事士
美容師・理容師
調理師・管理栄養士・パティシエ
シェフ
保育士・幼稚園教諭
教師・教員
国家公務員・地方公務員
警察官・消防士
その他(職業・資格)
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実績を積むという表現
-
「最大300字程度」
-
高窓(ハイサイド窓)を平面図...
-
言葉遣いについて ○○を取りに行...
-
桁あふれがわかりません
-
機械組み立て工場での電動ドラ...
-
敬語の使い方
-
【機械図面】 最大値・最小値...
-
超音波検査について
-
1億x1億はいくらでしょうか?
-
100以下の自然数のうち、次のよ...
-
16進小数0.Cを10進数小数に変換...
-
10分の1は「10/1 それとも1/10...
-
偏微分の記号をタイプするため...
-
アクセスのデータ型。数値型に...
-
5進法を10進法への直し方
-
Excelで符号の変化をカウントす...
-
3桁の自然数の中で、次の個数を...
-
0.1と0.10の違いを教えて下さい。
-
ラプラス変換に関する問題です。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「最大300字程度」
-
実績を積むという表現
-
【機械図面】 最大値・最小値...
-
言葉遣いについて ○○を取りに行...
-
「充足に達しましたので」これ...
-
桁あふれがわかりません
-
高窓(ハイサイド窓)を平面図...
-
ビジネスメールについて
-
16進数の表し方について
-
敬語の使い方
-
変電所のことをS/Sと表現するそ...
-
いつ電話をよこすの?という表...
-
問:負数を2の補数で表現する...
-
ピンクの象について
-
味の表現で「どっきりする」っ...
-
機械組み立て工場での電動ドラ...
-
ハンマードリルで木杭の打ち込み
-
2進数の問題を教えてください。
-
ビスなどで打ち付け固定した物の...
-
超音波検査について
おすすめ情報