- ベストアンサー
グレイコードの整数への変換方法 御存知ないですか?
グレイコードを整数へ変換したいと思っているのですが、 変換方法がわかりません。どなたか御存知ないでしょうか? 例えば 2進法の数字 01101を 整数に変換するには、 0×2^(4)+1×2^(3)+1×2^(2)+0×2^(1)+1*2^(0)とすれば 整数 13を得ることができます。 グレイコードで表記された 01101を整数に変換するには どのような計算をすれば よいのかが知りたいことです。 できれば、01101に限らず 2進法の10進法への変換のように一般的な 方法があればと思っています。 御存知なら お助け下さい。
- Richard-B
- お礼率100% (1/1)
- 数学・算数
- 回答数1
- ありがとう数2
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ビット列をan,an-1,,,a0として グレイコードの数を(an,an-1,,,a0)gと表記することにします。 またビット列から{0,1}への関数parityを parity(x)=0 (xの中の1の数が偶数個) parity(x)=1 (xの中の1の数が奇数個) と定義します。 グレイコードの整数への変換は次のように求められます。 (an,an-1,,,a0)g=Σ_{i=0,,,n}parity(an,,,ai)*2^i 例えば(01101)gであれば 2^4*parity(0)+ 2^3*parity(01)+ 2^2*parity(011)+ 2^1*parity(0110)+ 2^0*parity(01101) =2^3+1=9 となります。 ところで整数へ変換したいとだけありますがちょっと言葉が足りないように思います。 とにかく何でもいいから整数へマッピングしたいのであれば2進法のマッピング を流用したっていいわけですから。どのような性質を満たしてマッピングしたいのか きちんと言ったほうが良いと思います。 私は勝手に予想して回答しましたがあなたの望んだものだったでしょうか?
関連するQ&A
- エクセルの整数表示
大変お手数ですが下記お願いします。 ビスタに搭載されているエクセルについて、知り合いが困っているので、分かりにくい質問内容だと思いますが、よろしくお願い致します。 あるセル内の数字にM6×H6×F6÷1000という計算式をいれて、 2099という数字を出しております。これをさらに千で割って、整数表示の2という数字を導きたいと思っています。整数表示のやり方は、セルの書式設定でできると思うのですが、この2099という数字を、計算式を使わず(2099を計算式で1000で割るのではなく)に、2.099という数字に変換することはなんらかの設定などで可能でしょうか。 お手数ですがよろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- JISコードをシフトJISコードに変換する方法
紙とえんぴつを使ってJISコードをシフトJISコードに変換する方法を教えてください。 たしか16進数の変換などを使って出来ると聞いたことがあります。 一文字の漢字だけで良いんです。 例えば『高』という漢字のJISコード「3962」をシフトJISコード「8D62」に変換したいというわけです。 2進数や16進数の計算の知識だけはあります。よろしくお願いします。
- 締切済み
- その他([技術者向] コンピューター)
- 整数って・・・
ちょっと確認させてください。 整数って、小数点の付いていない数字のことを言うんですよね? 例えば・・・ エクセルで関数を使い、平均値を計算しました。 その数字が「19.6369」となった場合、=ROUND(AVERAGE(A**:A**),0)というような関数で小数点以下を表示させないようにして、数字が「20」でいいのでしょうか? 問題に整数として表示させなさいとあったのですけど、分かる方、お願いします。
- ベストアンサー
- その他(学問・教育)
- カラー画像をグレー化する方法
カラー画像をグレー画像に変換する方法には どんなものがあるのでしょうか? 一般に使われている方法以外にも色々あるようでしたら 教えてください。
- 締切済み
- その他(学問・教育)
- シーケンサでアスキーコードを変換
初心者です。 シーケンサ(三菱Qシリーズ)でアスキーコードで測定値を受信したとき、 測定値を数字として計算できるように変換するにはどうすれば良いですか? 何の命令後を使えばよいのでしょうか? D0~D2;30、31、32、33、34、35 → D10;12345
- 締切済み
- その他(プログラミング・開発)
- 分数×整数の計算について教えてください
基本的なことで申し訳ありません。 35/17 × 17 = 35*17/17 = 35 35/17 × 17 = 35/17(2.05882352941176)× 17 = 35 エクセルで上記の計算をすると両方とも35になります。 かけてから割る場合は35になることはわかるのですが、 割ってからかけた時、手で計算すると、 34.99999999999992になるにもかかわらず、 どうしてエクセルではどちらも35となるのでしょうか? また、エクセルでこの数字に限らず、分数×整数の計算をすると、どちらの方法でも小数点以下までまったく同じ数字になるのですが、割ってからかけるか、かけてから割るか、どちらが正しいのでしょうか?
- ベストアンサー
- 数学・算数
- アスキーコードから数字に変換
アスキーコードで送られてきた4つのデータを数字に変換する方法を教えてください。 4つのデータはいっぺんに送られてくるのでアスキーコード文字数は16です。(ひとつのデータは4文字です) よろしくお願いします。
- ベストアンサー
- Visual Basic
お礼
nagata様 回答ありがとうございました。 言葉が足りなかった点については、お詫び致します。 私の方も、グレイコードの詳細について、まだあまり知識がなかつたので このような不充分な質問の形になりました。 回答頂いた内容で、十分です。ありがとうございました。