A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
補数というのは、負の整数を2進数で表記する方法の1つです。
従って、正の整数が単独で存在しているだけでは補数という概念はありません。最近のコンピューターでは負の整数は2の補数で表記するのが一般的です。
最上位ビットが符号を表し、0=+, 1=- となります。負の整数は、その絶対値となる正の整数を表す2進数の全ビットを反転させ、さらに1を加えたものになります。
これに対して、ブーリアン値には1の補数を用います。単純に全ビットを反転させるだけです。
整数に2の補数を採用するのは、引き算をする時に2の補数を足し算すればいいので演算機の設計が簡単になるからです。演算の結果、キャリが立った時に同時に符号ビットが反転したらオーバーフローまたはアンダーフローであることが判ります。
貴方のコメントの最後の式で
10000000(128) +
と書かれていますが、この表記ならば、
10000000(-128) -
とするべきです。数学的にはどちらでも同じですが、情報学的には誤りです。なぜなら、1byte で正の 128 は表現できないからです。
-106-x=-128
x=-106-(-128)
x=22 //
という方程式をを 2進表記したものが答えです。
10010110(-106)
10000000(-128) ー
------------------------
00010110 (22)
-128 の2の補数は10000000
10010110 は106の2の補数(?)
だから答えは00010110も2の補数?
00010110の最上位のビットは0=+であるため10進数に直すと反転足す1しなくても良いでしょうか?だから答えは22
もし最上位ビットは負であれば(例:10010110) 10進数に直すと反転+1しなくてはならないでしょうか?
ありがとうございます!
No.2
- 回答日時:
補足しておきますと、
実際に計算するときは、引く数を2の補数表記 (全bit を反転して 1 を加える) にして足しますと、
10010110
+) 11101010
----------------
(1)10000000
となってキャリが立ちますが、符号ビットは反転しないのでアンダーフローは発生しません。
これより 1つ大きな値 (23=00010111two) だと 2の補数で 11101001two となり、
10010110
+) 11101001
----------------
(1)01111111
となって符号ビットが反転し、アンダーフローが発生することが判ります。
※ 上記において、(1) は8bit アーキュミュレーターの繰上がりを意味するキャリが立ったことを表しています。
答えてくれてありがとうございます
10進数では
10010110(-106)
x ー
ーーーーーーーー
1000000(-128)、
x は00010110(22)
2進数の計算で=
10010110(-106)
10000000(128) +
-----------------------
00010110(22) (2の補数表現で)
こういう考えは良いでしょうか
No.1
- 回答日時:
1byte の符号付き整数で表現できる値の範囲は、
10000000two=-128
から
01111111two=127
までです。
それを踏まえて、10010110two から引くことができる最大の値は、符号ビットを除いた 00010110two=22 となります。(貴方の答えは補数表記で真逆です。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 計算機科学 2進数の計算について 2進数の値は全て8ビットで負数は2の補数形式とする。結果が8ビットで表現出来な 3 2023/07/22 14:08
- 数学 整数問題7 3文字の整数問題 5 2023/04/09 09:56
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- 物理学 「反発係数=e」「衝突前の球の速度=V」「平面な床に衝突後の球の速度をv」とした時、eを表す関係式は 7 2022/12/18 18:06
- 数学 黄色マーカーの意味がよく分かりません。 X軸方向に4倍、Y軸方向に8倍に引き伸ばした らへんは何とな 3 2023/04/10 20:08
- 数学 2*2の行列に対して固有値の最大実部を与えるkの値を求めたい 3 2022/11/08 16:26
- 数学 【 数I 最大値・最小値 】 問題 2次関数f(x)=-x²-4x+1のa-1≦x≦a+1にお ける 1 2022/07/17 12:56
- 数学 参考文献の探し方(数学) 1 2022/07/19 01:09
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- 数学 整数問題5 続き 6 2023/04/06 11:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
6ビット(符号含む)の二進数
-
EXCEL16進⇒浮動小数変換したい
-
エクセルVBAで xlOn xlOff の切替
-
16ビットの符号付固定小数点...
-
【有効数字について】 授業で、...
-
KBとMB
-
EXCELでの16進数取り出し、上...
-
携帯電話の略語であるMBって英...
-
文字の容量(サイズ)についての...
-
実行計画の「COST」と「BYTE」...
-
COM1(RS232C)とUSB仮想COMポー...
-
32bit = 4GB(バイト)?
-
1秒は何ミリ秒とか、単位変換の...
-
KBのMB違いって
-
Stirlingについて
-
文字化けはなぜ日本語が入って...
-
なぜ1と0か?
-
CSV データのバイト数を調べる...
-
アルファベット30文字は何バイ...
-
何Mバイトになりますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SSDのデータがビット落ちにより...
-
EXCEL16進⇒浮動小数変換したい
-
6ビット(符号含む)の二進数
-
エクセルVBAで xlOn xlOff の切替
-
2ビット、3ビット、4ビットのグ...
-
ALUのオーバーフローフラグの生...
-
エクセルでビット1をカウント J...
-
9ビットの2進数を符号付整数…
-
データ量の単位について教えて...
-
16ビットの符号付固定小数点...
-
16ビット浮動小数点数の表現...
-
先程+20の2の補数表現を質問さ...
-
基本情報技術者試験問題
-
2進数の補数表示について
-
(<<1) & 0xeeeeなどが分かりません
-
2の補数形式において、アンダー...
-
基本情報処理技術者試験問題が...
-
浮動小数点の問題です。
-
●ビットで表現できる状態は、最...
-
【有効数字について】 授業で、...
おすすめ情報