![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_03.png?e8efa67)
No.1ベストアンサー
- 回答日時:
2の補数は、「正」の時のビットを全て反転させてから「1」を加えた値と同じになります。
これは、9ビットの「100000000」から6を表す「00000110」を引いたものを表しています。なので、
00000110
↓
11111001
↓(+1)
11111010 ←(-6)
になります。
先ほどのように、別のやり方では、
100000000
-00000110
---------
11111010
と同じになります。
また、16進数で表すときは2進数4ビットと1対1に対応しますから
(11111010)2=(FA)16
になります。
0000→0
0001→1
0010→2
0011→3
0100→4
0101→5
0110→6
0111→7
1000→8
1001→9
1010→A
1011→B
1100→C
1101→D
1110→E
1111→F
後は、2進数で求めてから変換するだけです。
いきなり16進数で2の補数を考える人は少ないと思いますよ。
No.3
- 回答日時:
★アドバイス
>2の補数表現を用いた符号付き8ビットの2進数のとき
↑
2の補数とは『ビット反転』した値に『1』を加算したものです。
>10進数で -6
>の値はどうなるのでしょう・・・?
↑
まずは +6 で考えます。+6 を 8 ビットの 2 進数にすると
00000110=6
となります。この値をビット反転します。すると
11111001=249
となります。この値に 1 を加算します。すると
11111001
+)00000001
----------
11111010=250
となります。この値は符号なしだと 250 ですが、符号付きで解釈すると
250 - 256 = -6
となります。ほら出来たよ。-6 の 8 ビット 2 進数が。
・上記より
+6 の 2 進数をビット反転して 1 を加算することでマイナス値に変換できます。
00000110=+6
↓
11111001(反転)
↓
11111010(+1加算)
よって
11111010 が -6 となります。
>16進数時の値と考え方も教えていただければ幸いです・・。
↑
2 進数の -6 を 16 進数に変換するだけです。
だから
11111010
↓
1111 1010
↓
FA
となります。よって 8ビットの 16 進数の -6 は 0xFA となります。
・以上。
参考URL:http://ja.wikipedia.org/wiki/2%E3%81%AE%E8%A3%9C …
No.2
- 回答日時:
一般的には2の補数で表現します。
10進数 : 2進数
6 : 00000110
-6 : 11111010
論理反転して+1した値ですが、加算すると(キャリーを無視すれば)0になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0-整数と余りを求める
-
フォームを開くときに、コンボ...
-
C言語 exitの使い方
-
vbaで極大値を抽出する方法
-
DWORDって
-
4択問題のプログラムでランダム...
-
VBAの定数の使い方で、計算値を...
-
ランダム関数の足し算とかけ算
-
C#でのIF文 時間比較のやり方
-
コンボボックスの名前を変数に...
-
数字の位ごとの値を表示するプ...
-
0~180まで0.0001刻みで乱数を...
-
関数で複数の値を戻り値として...
-
VB6でのLog
-
VBAで配列のNULL判定
-
Rubyで1ミリ秒のsleepできない...
-
excelの、ある数式内の{}の意...
-
Variant型で宣言してるのにEmpt...
-
VBAでダブルコーテーション入り...
-
C言語でしりとりのプログラムを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
-
VB6.0-整数と余りを求める
-
C#で動的にコントロールを取得...
-
数字の位ごとの値を表示するプ...
-
VBAで配列のNULL判定
-
足して100になるような乱数のア...
-
DWORDって
-
世界のナベアツ
-
VBAの定数の使い方で、計算値を...
-
Access2003 オートナンバーの現...
-
コンボボックスの名前を変数に...
-
相関係数p値の出し方
-
ラジオボタンの値の取得につい...
-
フリーランタイマーの時間差分...
-
DataGridView 複数行同時変更...
-
10進数をアスキーコードに変換
-
1つ前の値を変数に保存する方法
-
vbaで極大値を抽出する方法
おすすめ情報