- ベストアンサー
16進数イチゼロ以降の対応(?)
16進数で、 01→0f 0a→06 02→0e 0b→05 03→0d 0c→04 04→0c 0d→03 05→0b 0e→02 06→0a 0f→01 07→09 10→? 08→08 11→? 09→07 …→… とこのように対応(この様に言うの判りませが...)すると思うのですが、 10以降は何に対応するのか判りません。 何がしたいかと言うとC6 7A FA 等の適当な値があった場合、 上のように対応するのでしょうか。 関数電卓などで計算することは可能ですか?
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
先ほど「交換」で質問された内容ですね。 皆さんも「交換」の意味がわからないとのことですが、単純に和が16になる計算ではないのですか? 先ほどの質問で感じたことなのですが。 そうだとすれば 10→ 00 11→-01 12→-02 ・ ・ と解釈できますね。 まずおっしゃっている交換の定義を明らかにされたほうがよいでしょう。
その他の回答 (7)
- Quattro99
- ベストアンサー率32% (1034/3212)
> あるデータの一部が例えば「01 02」で「0f 0e」に変化する規則があるとしたら 条件がそれしかないのであれば確定しないと思います。「10 11」については定義していないかも知れません。 例えば、1→2、2→4という変化があったとしても、それは2倍にするという変化かも知れないし、2をその数だけ掛け合わせるという変化かも知れません。 > 一般的に言うと「Xx Yy」はどのような値に変化するのか どういう変化をさせるのかによって違います。
お礼
皆さん回答して下さってありがとうございました。 もっと勉強してから質問するべきでした。 あと、国語の勉強もします。
補足
そうですか。判りました。
- Willyt
- ベストアンサー率25% (2858/11131)
1バイト単位の補数なら 0f → f1 になりますよ。『対応』なるものがどういうものを意図しておられるのかをはっきりさせると的確な回答が得られると思います。
補足
>1バイト単位の補数 とは何でしょう? 重大な誤りを発見しました。 「対象」を「対称」と勘違いしていました。 「対応」はもう忘れてください。 よく見ると質問の「何がしたいか」の文章が変ですね。 簡潔に書くならば、 あるデータの一部が例えば「01 02」で「0f 0e」に変化する規則があるとしたら、 「10 11」はどのような値に変化するのか知りたかったのです。 一般的に言うと「Xx Yy」はどのような値に変化するのか。 申し訳ありません。m(__)m
- Quattro99
- ベストアンサー率32% (1034/3212)
> 対応 > 多分補数 このあたりを確定してもらわないと回答しようがないと思います。 「元の数に1を加える」対応かも知れないし、「元の数を2倍する」対応かも知れません。 補数のことなら、 http://ja.wikipedia.org/wiki/%E8%A3%9C%E6%95%B0 とかを見てみてください。
補足
重大な誤りを発見しました。 「対象」を「対称」と勘違いしていました。 「対応」はもう忘れてください。 よく見ると質問の「何がしたいか」の文章が変ですね。 簡潔に書くならば、 あるデータの一部が例えば「01 02」で「0f 0e」に変化する規則があるとしたら、 「10 11」はどのような値に変化するのか知りたかったのです。 一般的に言うと「Xx Yy」はどのような値に変化するのか。
- pineville
- ベストアンサー率55% (46/83)
確かに下の桁(下位4ビット)だけに限れば2の補数になってそうですが、上位4ビットの扱いは??? もし2の補数であればビット反転して1足せばいいので、 C6 (11000110) → 3A (00111010) 7A (01111010) → 86 (10000110) FA (11111010) → 06 (00000110) となります。 しかしそれならお書きの例は 01 (00000001) → FF (11111111) 02 (00000010) → FE (11111110) : 0F (00001111) → F1 (11110001) 10 (00010000) → F0 (11110000) 11 (00010001) → EF (11101111) : となるのですが・・・
補足
ごめんなさい。わかりません。 その様な方法があるのですね。 しかし、違うと思います。
- Quattro99
- ベストアンサー率32% (1034/3212)
そういう対応をしないと思うのですが。 16進法の数を10進法の数に直すのなら、 01→01 02→02 . . . 09→09 0a→10 0b→11 0c→12 0d→13 0e→14 0f→15 10→16 11→17 . . です。 対応ってどういう意味ですか?
補足
10進法に直すわけではないと思います。 多分補数の事だと思います...
- satona1024
- ベストアンサー率34% (12/35)
「01→0f」の意味がわかりません。 16進数の"01"は10進数で"1"ですし、16進数"0f"は10進数で"15"です。 ちなみに 16進数"C6"は10進数で"198"、16進数"7A"は10進数で"122"、 16進数"FA"は10進数で"250" になります。 これであれば、関数電卓でも可能です。
補足
対応ではなく、対象の方が良いのかもしれません。 「x→y」は「xの対象はy」と言うことを表したかったのです。 01の対象が0fなのは16進数だからだと思うのですが...
- kikyou808
- ベストアンサー率41% (13/31)
すみません、質問の内容が理解出来ないのですが。 16進数→10進数 としたいのでしょうか?
補足
いやどちらも16進数だと思います。 01の対象な値は0fだそうです。 感覚的には10進数で、 1→9 2→8 3→7 みたいな感じだと思うのですが...
補足
たびたびすみませんm(__)m そうですよね。さっき気がつきました。 なるほど!ただ(当たり前ですが)マイナスになるのですね... 定義...ある言葉の正確な意味、ですか。 この質問はあるHPを見てしたのですが、そこには、 --------------------------------------------------------- 交換を偶数と奇数で分ける。 対象のもの同士で交換(01なら0fと。02なら0eと交換という具合)。 上下のものとしか交換しない。 --------------------------------------------------------- とわかりにくい文章が載っていました。 カテゴリーが変わりますし、消される可能性があるので書きたくないのですが、バイナリ・チェックサムが関係しています。 回りくどくてすみません。