質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
基本情報技術者

基本情報技術者とは、経済産業省が行う国家資格「情報処理技術者試験」の区分の一つです。試験ではプログラマーやシステムエンジニアなどIT業界で働くために必要とされる基礎知識や情報処理において論理的な考え方ができるか等が問われ、企業から高い評価を獲ることができ、IT業界の入門的な資格として人気があります。

Q&A

解決済

3回答

1387閲覧

基本情報技術者試験 2の補数表現に関して

infra____

総合スコア90

基本情報技術者

基本情報技術者とは、経済産業省が行う国家資格「情報処理技術者試験」の区分の一つです。試験ではプログラマーやシステムエンジニアなどIT業界で働くために必要とされる基礎知識や情報処理において論理的な考え方ができるか等が問われ、企業から高い評価を獲ることができ、IT業界の入門的な資格として人気があります。

0グッド

0クリップ

投稿2020/04/23 04:40

編集2020/04/23 06:43

現状、コンピュータの計算で減算をしないために、2の補数を求めて、理由に関しては理解できています。

4桁の2進数において、
「-1」が2の補数だと「1111」であらわされるとのことですが、何故でしょうか。
符号付き2進数の最上位ビットが1だと「-」になる理由も意味不明です。

ご多用の中、大変恐縮ですが、ご教示のほどお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

infra____

2020/04/23 06:30

いつもコメントありがとうございます。 ございます。訂正させていただきました。
m.ts10806

2020/04/23 06:39

Javaと関係ないのならJavaタグは外しておいたほうが良いと思います。
infra____

2020/04/23 06:44

ご指摘ありがとうございます。訂正させていただきました。
guest

回答3

0

ベストアンサー

1 + -1 = 0 という当たり前の性質を活用しています。
0001 に対し、加えると下4桁が 0 になる数が 1111 だからです。

投稿2020/04/23 04:45

LouiS0616

総合スコア35658

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

java関係ないですね・・・

えっと、逆に考えるべきで。
マイナスを表現するルールとして最上位の1ビットを符号にして”2の補数表現”を利用します。

4ビットで0~15まで表現できるのは、理解済みだと思いますが
4ビットで負数を表現する場合どうします?

どこかの1ビットを符号にするしかありません。
最下位ビットか最上位ビットを利用すると思いますが、最下位ビットは正の1で利用頻度が高いので
避けるのでは?

符号として1ビット使うとして、なぜ2の補数なの?

1001は、をマイナス1として使うのは、どうだろうか?
これだとですね。

マイナス01000というものがでてくるので、ちょっと勿体ないのですよね。

あと、理解済みとのことですが加算と減算で負数を意識すると単純なビット演算ができなくなります。

00011001の単純な加算でゼロにならない。

というわけで、素直な演算をするには2の補数表現がピッタリなわけです。

投稿2020/04/23 05:37

momon-ga

総合スコア4820

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

符号付き2進数の最上位ビットが1だと「-」になる理由

これはそう決まってる、ってことで納得しておきましょう

まあ、0から1を引いたらどうなるかを考えれば、なんとなく納得できないでしょうか。

投稿2020/04/23 04:44

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問