問題タブ [nibble]

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.

0 投票する
2 に答える
1120 参照

c - C を使用して「ニブル」を左に移動する

私はしばらくこのパズルに取り組んできました。数値 (x) の 4 ビットを左回りに (折り返しを使用して) n だけ回転させる方法を見つけようとしています。ここで 0 <= n <= 31.. コードは次のようになります。

秘訣は、これらの演算子のみを使用できることです。

また、If ステートメント、ループ、関数呼び出しも使用できません。また、int型のみを使用できます。

例は moveNib(0x87654321,1) = 0x76543218 です。

私の試み:マスクを使用してビットとすべてを格納する方法を理解しましたが、任意の数値で移動する方法を理解できません。何か助けていただければ幸いです。

0 投票する
1 に答える
1094 参照

c - for ループでバイトからニブルを抽出する

MicroChip PIC32 組み込みチップの LCD ディスプレイに適応させた DMA 割り込みハンドラに問題があります。

内部メモリが限られているため、カラー LCD 用のフレーム バッファが必要です。16 色を使用し、ピクセルごとにニブルを使用することにしました。次のような配列を作成しました。

割り込みハンドラで、4 ビットのニブルを 16 ビットの値に変換して、パラレル ポートと DMA 転送を介して LCD に送信します。これを実現するために割り込みハンドラーでルックアップ テーブルを使用しますが、これをデバッグするときに General_Exception_Handler に入り、4 ビット ニブルを抽出して 16 ビット値に変換する方法に問題があることを示しています。

60 ピクセルを含む別の配列を使用して、一度に 60 ピクセル (60 x 16 ビット) を転送するように DMA をセットアップしようとしています。

ニブルを抽出して変換する方法に問題を見つけられる人はいますか? 警告やエラーがないので、何も飛び出していません!

どんな助けでも感謝します、ありがとう

0 投票する
0 に答える
624 参照

time - SMPTE から MIDI タイムコード (MTC) へ

SMPTE を MTC に変換しようとしています。
私は MTC に関する情報を入手するためにあらゆる場所を探しましたが、この最後の 1 つのステップを除いて、かなり遠くまで行きました。MTC は私がよく知らない高ニブルと低ニブルを使用するため、これをどのように達成すべきか完全にはわかりません。

どうすればこれができるか知っている人はいますか?

0 投票する
1 に答える
509 参照

java - BigInteger をニブル配列に分割する

BigIntegeraをニブル (4 ビット セグメント) の配列に分割する方法はありますか? バイト配列を取得する組み込みの方法がありますが、BigInteger.toByteArray()ニブルを取得する方法はありません。

0 投票する
1 に答える
77 参照

java - 分離されたビットを収集する Preon フレームワーク (実際にはニブル)

Preon を使用してデコードしようとしているバイナリ ストリームには、5 つの連続しないニブルで構成される値があります。次に例を示します。

16 進データ: 00A00000F200EE0000

ゼロ以外のマークされたニブルから AF2EE に値を抽出する必要があると考えてください。Preon を使用してそれは可能ですか? もしそうなら、そのようなヒントを教えてください。

PS: ゼロは単なる例であり、必要な位置のニブルが固定されているため、抽出するニブルを選択する基準を表すものではありません。

おそらく@wilfred-spingerが助けてくれるでしょうか?

0 投票する
1 に答える
1023 参照

c - 最も重要なニブルの 16 進数

ビット操作で困っています。

行うこと: x の最上位ニブルの 16 進値が y に等しい (0 <= y <= 15 と仮定)

制限: 等式 (==) または不等式 (!=) テスト、相対比較演算子、除算、モジュラス、および乗算、条件を使用することはできません。

問題: msb = y の場合は 1 を返し、そうでない場合は 0 を返すように関数を作成する必要があります。ただし、0xff で実行してもゼロになり続けます。誰かが私を正しい方向に向けることができれば、それは素晴らしいことです. ありがとうございました。