過去の質問を見てみたのですがよくわからなかったので質問します。
計算機の授業で十進数の負の数を十六進数に直すという方法を習ったのですが、いまいちわかりません。
問題は「次に示した十進数を二桁の十六進数で表せ」というもので、十進数は「-34」「-105」などです。
基本的なことは分かっているつもりです。
上記の問題の解き方を教えてください。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

こんにちは。



単刀直入に答えを書きますと、
十進の-34は十六進だとD7h、
同じく-105は十六進だと97hです。

ちなみに-1はFFhとなります。
十進の-1を2桁の16進にする場合を例にして説明しますと、
1を二進に直すと 0000 0001
全桁を反転します 1111 1110
 1を加えます   1111 1111
これを十六進に直す  F    F
ですね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
よく分かりました。
やっと疑問がはれました。
やっぱり二進数のときに8桁にしなければならないのですね。
助かりました。
本当にありがとうございました。

お礼日時:2003/11/03 23:55

負の10進数を16進数に直すのはちょっと大変です。


負の2進数に直してから4ビット区切りで16進数にするのが実用的です。
    • good
    • 0
この回答へのお礼

ようやく分かりました。
ありがとうございました。

お礼日時:2003/11/03 23:57

絶対値をとって16進数で表記し、-(マイナス記号)をつけるだけです。

お手元の計算機のテキストにもそう書いてあるはずです。

計算機内でどう表現するかはまた別の問題です。整数の場合、#1の方のご回答にあるように補数を使うのが多いですね。理屈上MSB1ビットを符号用に確保し、残りのビットで絶対値を表現する形式もあります。実数(固定小数点、浮動小数点)の場合、絶対値+符号で表現されます。

十進数コンピュータがあったとしたら、負数はどう表現されるか想像しながら問題を解いて下さい。

この回答への補足

回答ありがとうございます。
質問の仕方が悪かったみたいなので補足します。
十六進数に直すとき、マイナスの記号はつけないやり方のようです。

補足日時:2003/11/03 22:35
    • good
    • 0
この回答へのお礼

ようやく分かりました。
ありがとうございました。

お礼日時:2003/11/03 23:57

負の数というのがよく分かりませんが、正の数として処理し、マイナスをつけるのでいいのでしょうか?


 第1位は「16の0乗、つまり1がいくるあるか」
 第2位は「16の1乗、つまり16がいくつあるか」
 第3位は「16の2乗、つまり256がいくつあるか」
 を表します。
 十進数の34は16×2+1×2だから十六進数では「22」よってー34なら「ー22」
 十進数の105は16×6+1×9だから十六進数では「69」よってー105なら「-69」ではいけないのでしょうか?
    • good
    • 0
この回答へのお礼

ようやく分かりました。
ありがとうございました。

お礼日時:2003/11/03 23:57

まずは2進数に直してから16進数に変換してみるとわかりやすいと思います。



詳しくは参考URLを見てみてください。

参考URL:http://www005.upp.so-net.ne.jp/h-masuda/ProText/ …

この回答への補足

回答ありがとうございます。
ひとつ質問なのですが、二進数に直すとき、8桁必要なのですか?
たとえば十進数の「2」は二進数では「00000010」のように。
この部分が教科書には書いていないので、あいまいでよく分からないのです。

補足日時:2003/11/03 22:40
    • good
    • 0
この回答へのお礼

理解できました。
ありがとうございました。

お礼日時:2003/11/03 23:56

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング