問題タブ [gray-code]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - グレイコード追加
2 つのグレイ コードを通常のバイナリに変換せずに 2 つのグレイ コードの加算 (およびおそらく減算) を計算し、バイナリ加算を実行してから結果をグレイ コードに戻す既知の方法はありますか? インクリメント関数とデクリメント関数を書くことはできましたが、加算と減算はさらに文書化されておらず、書くのが難しいようです。
c - グレイコードの隣人
グレイコードで隣人を見つけるために使用できるアルゴリズムはありますか?
小さい数字の場合、表全体を書くのは問題ありませんが、 010 110のような数字がある場合、グレイコード表全体を 6 つの数字で書くには少し多すぎます。
c++ - 反射グレイ コードのマジック ナンバーを 2 進数に変換
バイナリ反射グレーコードを標準バイナリに変換する汎用関数を作成しました。このページで見つけたアルゴリズムを使用しました。前述のアルゴリズムは次のとおりです。
次に、どの標準unsigned
タイプでも機能するようにコードを修正しました。ここに私が書いたものがあります:
unsigned
アルゴリズムは、すべての標準タイプでうまく機能するようです。ただ、書くときsizeof(Uint)*4
は型の大きさによって終了条件が変わるのは理にかなっていたので直感的に使っていたのですが、sizeof(Uint)*4
実は何を表しているのかわからないのが実情です。今のところ、私が直感的に書いたマジックナンバーですが、*4
他の係数では機能せず、なぜ機能するのか説明できません。
このマジックナンバーが実際に何に対応しているか知っている人はいますか?
algorithm - 非再帰的グレイ コード アルゴリズムの理解
これは、アルゴリズムブックのタスクです。
問題は、どこから始めればよいかまったくわからないということです。
したがって、1ビットのグレーコードは0 1
、200 01 11 10
などの場合は .
たくさんの質問
1) n = 1 の場合、 から始めることができることを知ってい0 1
ますか?
2) 「すべて 0 の n ビット文字列から始める」をどのように理解すればよいですか?
3)「前のビット列」?「前」はどの文字列ですか?前は下位nビットからですか?(たとえば、n=2 の場合、前は n=1 のものです)?
4) フリップする操作しかない場合、1 ビットの文字列を 2 ビットの文字列に変換するにはどうすればよいですか?
これは私をとても混乱させます。私がこれまでに理解している唯一の「人間」の方法は、下位nビットからセットを取得し、それらを複製し、2番目のセットを反転し、最初のセットのすべての要素に0を追加し、2番目のセットのすべての要素に1を追加することです。完了 (例: 0 1
-> 0 1 | 0 1
-> 0 1 | 1 0
-> 00 01 | 11 10
->11 01 11 10
完了。
助けてくれてありがとう
python - Python でのグレイ ランク アルゴリズムの実装
Pythonで次のアルゴリズムを実装するにはどうすればよいですか:
(ソース)
c - Cで配列の各要素にプレフィックスを追加する簡単な方法はありますか?
グレーコードの問題を解決しています。再帰呼び出しを使用してロジックを作成しました。すべて問題ないように見えますが、配列の各要素の前に「0」または「1」を付ける方法がわかりません。例) プレフィックス 0 : { 00, 01, 11, 10 } -> { 000, 001, 011, 010 } またはプレフィックス 1 : { 00, 01, 11, 10 } -> { 100, 101, 111, 110 }
php - PHP で 64 ビットを使用する方法
一連のグレイコードを出力する関数を書きました。N の入力の場合、N ビットの最後の N 個のグレイ コード番号を示します。
現在、この関数は、入力がオーバーした場合に正しい出力を提供していません31
。しかし、少なくとも64
. どうすればこれを達成できますか?
関数は次のとおりです。
31 の右出力: http://codepad.org/8LotGD35
33 の間違った出力: http://codepad.org/JmfIOrrj
1-31 の全出力: http://codepad.viper-7.com/aDPx68
binary - 負の 2 進数をグレイ コードに変換する方法
符号ビットを持つ負の 2 進数があり、そのグレイ コードを取得するプログラムを作成したいと考えています。ただし、正の数の解しか見つかりません。だからここで私はこの質問をしています。ありがとう。
java - 2 つの数字がグレイ コード シーケンスで連続した数字かどうかを確認する方法
与えられた 2 つの数字がグレイ コード シーケンスの連続した数字であるかどうか、つまり、グレイ コード シーケンスが言及されていないと仮定してグレイ コードの隣人であるかどうかを調べるという問題の解決策を考え出そうとしています。
さまざまなフォーラムで検索しましたが、正しい答えが得られませんでした。これに対する解決策を提供できれば素晴らしいことです。
問題への私の試み - 2 つの整数を 2 進数に変換し、両方の数字の数字を別々に追加し、2 つの数字の数字の合計の差を見つけます。差が 1 の場合、それらはグレイ コード ネイバーです。
しかし、これはすべての場合にうまくいくとは思えません。どんな助けでも大歓迎です。よろしくお願いします!!!