- ベストアンサー
二進数を負で表す
-256を2進数の9ビットで表すのに困っています まず256を2進数で表し、(100000000) それを反転させ1を足す (000000001 + 1) そうすると答えは000000010になります しかしこれは最上位のビットが0なので+の値になってしまいます どうすれば-256を9ビットで表せますでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- ultra1long
- ベストアンサー率49% (341/688)
関連するQ&A
- 2進数の補数表示について
よろしくお願いします 「負の数(-128)を8ビットの2の補数表示するとき、どうなるか?」 の問題で、わからない箇所があります。 1.最上位ビットは正・負を表す。 2.負の数:-127を2の補数を使用して表現する。 (例)-1(10)==> まず、正で考える。 ==> 0000 0001(2) 「確認」 1111 1110(反転) +1(プラス1) ---------- 1111 1111(2)(答え) -127(10) ==>0111 1111(2) まず、正で表す。 「確認」 1000 0000(反転) +1 (プラス1) ---------- 1000 0001(答え) ここからが疑問なんです。 -128(10)の場合 ==>1000 0000(2) まず、正で考える。 「確認」 0111 1111(反転) +1 (プラス1) ----------- 1000 0000(2)(答え) ↑ ・答えがプラスの128(10)=>10000000(2)と同じではない でしょうか? ・このときの最上位ビットは桁上がりの「1」と正負の違 いを表す「1」のどちらを表しているのですか? ・たとえば「負数を2の補数で表すとき,8ビットで 表現できる整数の範囲は10進数でどれか。」など の問題で答えが正の127は理解できるのですが、 負は「-128」ということがよくわかりません。 一応検索をしてみましたが、類似回答では理解できませんでした。よろしくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- 負の二進数
2の補数表現を用いた符号付き8ビットの2進数のとき 10進数で -6 の値はどうなるのでしょう・・・? 16進数時の値と考え方も教えていただければ幸いです・・。 よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- 負の2進数の表示がわかりません
Q1:負の数(例えば10進数の[-2])を2進数,4ビットで表すには, 1010(MSDの[1]は[-]を表して,後半の3桁は[2])か 1110([0001]の2の補数) どちらが正しいのですか?(学校ではどちらも習いました) またQ2のような計算をするには補数による表示でないとなりませんか?(絶対値に符号をつけるだけだと計算が合いません) Q2:4ビットで表された2進数の計算で 0101-0010=0101+(1110)=10011 となり,答えが5ビットになってしまいます.下4桁で考えると答えが合っている気がします.これで合っていますか?
- ベストアンサー
- 数学・算数
- "2進数"で負の小数点の表し方?
2進数で、負の整数の表現方法は分かるのですが 小数点となると分かりません。 質問(1) ・上位1bitを符号ビットとする4bitで2進数を表すと 10進数 → 2進数 7 → 0111 1 → 0001 0 → 0000 ー1 → 1111 ー8 → 1000 さらに、小数を表す1bit追加すると 0.5 → 00001 ? -0.5 → 11111 ? 上記であってますか? そして、0.75は?000011? 以上、宜しくお願い致します。
- ベストアンサー
- 数学・算数
- 負の整数を求める
負の整数を表現する問題で質問です。 4ビットのパターン1101を下記の通りに求め、小さい順に並び変える場合、 1, 1の補数による表現 2, 2の補数による表現 3, 絶対値に符号を付けた表現(先頭ビットが0は整数、1は負数) 1の補数は反転なので、0010とわかりますが、回答にこれは10進数の2だからと書いてありました。そこまではわかります。ただ、そのあとに、10進数の2だから、1101はマイナス2、とありました。なぜここでマイナス2となるのでしょうか? 2の補数の場合は反転した1の補数に1を加算して、0011とわかりました。しかし、またそれはマイナス3となっています。 3の絶対値に限っては先頭ビットは1なので負で、残りの3ビットは101で、10進数の5だから、マイナス5とあります。これに限ってはよくわかりません。 どなたか説明をお願いします。
- ベストアンサー
- 数学・算数
- 2進数の足し算について
CPUは引き算を行うことができず、2の補数を用いて引き算を足し算として考えれると知りました。 そこで8bitの最上位桁を符号とした7bitの引き算-24+(-8)を計算してみたのですが 24(10進数)→0011000(2進数)→1101000(2の補数) 8(10進数)→0001000(2進数)→1111000(2の補数) 符号 7654321←bit 1 1101000 +1 1111000 X 1100000 となり、1100000の2の補数をとると 0100000(2進)→32(10進数)で答えを求められました。 そこでお聞きしたいのですが、値を足したとき(↑の例だと1100000)が求められたときにどういった条件だと1100000の2の補数をとる必要があるのでしょうか? ↑の例だとXがどの条件のときでしょうか? 質問が長くなってしまいましたがよろしくお願いします。
- ベストアンサー
- 数学・算数
- 【初心者から質問】 2進数の減算について
学校で「アセンブラ言語」について学び始めました。 「2進数の減算」が分かりません。 ・減算は負の数の加算でおこなう。 ・負の数は2の補数であらわす。 ・補数を導き出すには「ビット反転」と「+1」する。 この3つのルールのことは何となくわかります。 では、 0110 1001 -0010 1100  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ の計算の仕方を教えていただきたいです。 0110 1001 -0010 1100  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 1101 0011 (ビット反転) +1101 0100 (+1する)  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 自分でやってみましたが、この先がわかりません。 (つまり負の数を加算する部分が分からないです) この先の答えと、計算方法を教えてください。 よろしくおねがいします。
- ベストアンサー
- その他(プログラミング・開発)
- 排他的論理和の問題
以下の問題の回答を読んでも意味がわかりません。どなたか、もっと詳しく説明お願いします。 【問】 任意の8ビットのデータXと、8ビットのデータ00001111をビット毎に排他的論理和をとった結果はどれか。ここで、各1ビットのデータAとデータBの排他的論理和をとったCの値は次のように表される。また、データの左方を上位、右方を下位と呼ぶ。 A B C ‐‐‐‐‐‐‐‐ 0 0 0 0 1 1 1 0 1 1 1 0 【選択肢】 ア、Xの上位4ビットすべての0、1が反転し、下位4ビットは全て1になる。 イ、Xの上位4ビットすべての0、1が反転し、下位4ビットはそのまま残る。 ウ、Xの上位4ビットはすべて0で、下位4ビットすべての0、1が反転する。 エ、Xの上位4ビットはそのままで、下位4ビットすべての0、1が反転する。 【解】 エ 【解説】 問題文中の表からもわかるように、データBのある1桁の値が0だった場合、データAの値はそのままです。一方で、データBのある1桁の値が1であると、データAの値は必ず反転します。データBのビット列は、00001111ですから、データAの上位4ビットはそのまま、下位4ビットは全て反転すると考えられます。 解説の「~データAの値は必ず反転します」までは理解できるのですが、なんでいきなりデータBのビット列が00001111なのか意味が分かりません。これは表から読み取るもの?それともこの問題でデータBがデータXということを示しているのでしょうか。 情報系素人なもので、助言よろしくお願い致します!
- ベストアンサー
- 数学・算数
- 2に補数
10進数から2進数を2の補数にする時はビット反転して1を足すとできますが、2進数から10進数を2の補数にするときも同じくビット反転して1を足すと正解の答えが出るのですが、そのやり方でいいのでしょうか?
- 締切済み
- ハードウェア・サーバー
- どなたか、この問題を解いて教えてください。。
基本情報技術者試験の勉強中なのですが、この例題が、解説を読んでもわかりません。項目は論理演算です。どなたか、教えていただけないでしょうか? 【問題】 8ビットのデータの下位2ビットを変化させずに、上位6ビットのすべてを反転させる論理演算はどれか? ア 16進数03と排他的論理和をとる イ 16進数03と論理和をとる ウ 16進数FCと排他的論理和をとる エ 16進数FCと論理和をとる 【答え:ウ】 【解説】16進数FCは11111100です。排他的論理和を取ると、上位6ビットは反転され、下位2ビットはそのままとりだせます。 と、書いてあります。2進数に変換するまではわかるのですが、排他的論理和を取るというのは、どういうことなのでしょうか? すみませんが、宜しくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
お礼
あ、本当ですね。反転が間違ってますね^^ お二方、ご丁寧にありがとうございました! おかげさまで理解できました!