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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0-整数と余りを求める
-
Excel-vba 文字列と変数を...
-
フォームを開くときに、コンボ...
-
C言語 exitの使い方
-
C#の問題で2つの整数a,bの...
-
DataGridView 複数行同時変更...
-
VBAの定数の使い方で、計算値を...
-
数字の位ごとの値を表示するプ...
-
関数で複数の値を戻り値として...
-
C言語でCLAMP(a,b,c)
-
4択問題のプログラムでランダム...
-
C#で動的にコントロールを取得...
-
C#.netでの切り上げ処理について
-
Excel VBAで値貼り付けのプログ...
-
足して100になるような乱数のア...
-
配列の値を置換するにはどうす...
-
Borland C++ Compiler 5.5の警...
-
整数xxxが大き過ぎますというエ...
-
VBAでダブルコーテーション入り...
-
コマンドプロンプト バッチ|結...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
-
VB6.0-整数と余りを求める
-
足して100になるような乱数のア...
-
VBAの定数の使い方で、計算値を...
-
DWORDって
-
世界のナベアツ
-
VBAで配列のNULL判定
-
C#で動的にコントロールを取得...
-
数字の位ごとの値を表示するプ...
-
long型のランダムな値を返す方法
-
UWSCのcallについて
-
フリーランタイマーの時間差分...
-
1つ前の値を変数に保存する方法
-
VB6でのLog
-
C言語でCLAMP(a,b,c)
-
DataGridView 複数行同時変更...
-
コンボボックスの名前を変数に...
-
バッチファイルで正規表現を使...
おすすめ情報