問題タブ [byte-shifting]

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 投票する
1 に答える
114 参照

java - C ++でのJavaバイト配列(long値を持つ)からlongへの変換

Java コードのバイト配列に long 値を入れています。この(バイト配列)はネイティブ側コード(C++)に送信されます。この C++ コードでは、Java から送信された long 値を再構築する必要があります。

バイト配列とその中のすべてのバイトにアクセスして、長い値を取得するにはどうすればよいですか? 助けてください。

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

c - C: ファイル全体をバッファに読み込み、バッファをバイトスワップ | アディセファ -> デッドフェイス

編集:さらに調査を行った後、実際に必要なのはビッグエンディアンからミドルエンディアン、またはその逆のようです。12345678 -> 34127856 と戻ります。混乱して申し訳ありません。

ちょうど16MBの小さなファイルがあります。ファイル全体をバッファに読み込んでいます。私がやろうとしているのは、可能であればファイル/バッファ全体を一度にバイトスワップすることです(たとえば、均一/グローバルスワップADDECEFA => DEADFACE)。私は数え切れないほどのバイトスワッピングのページを読みましたが、ビット単位/バイトスワップの多くは何らかの理由で頭を悩ませています (愚かな脳の可能性が最も高い)。誰かがダミーのビット単位/バイトスワップを知っている場合は、正しい方向に向けてください!

また、私のコードで何か間違ったことをしているのを見たら、教えて、より良い方法を教えてください。何か詳しく説明する必要がある場合は、遠慮なくお尋ねください。ありがとう、良いものを。

編集:失敗した試みの1つを追加しました。私の最終目標は、バイトを outfile に書き戻すときにバイトをスワップし、できるだけ効率的にスワップすることでした。

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

bit-manipulation - ビット操作オーバーフロー

次の式を考えると:

また、各変数は8 ビットのレジスタであり、結果がOVERFLOWにならないために必要な数ビットを見つける必要があります。

答えは だと思います11

で取ることができる最大の数(a-b) + the biggest number in (c-d+4)

誰かが説明できれば、それは素晴らしいことです。

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

python - Pythonでのビットシフト

次のコードを理解したいです。3行目のシフトは何をしているのですか?

number と shift_no の結果のバイナリ形式を確認すると、次のようになります。

ありがとう。

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

python - 整数をシフトしながらGo int64値制限をバイパスする方法は?

KiB, MiB, ..., ZiB, YibGo を使用して、それぞれの値を取得しようとしていますKibiByte, MebiByte, ..., ZebiByte, YobiByte

Golang での私のコードは次のとおりです。

しかし、ZiB and YiBオーバーフローGoの値uint64と、これが私がこの出力を持っている理由です:

Python3それ以外の場合は、このコード内で同じシフト ロジックを使用します。

以下の出力のように、出力は正しいです。

では、Gouint64の制限を回避し、Python を使用して整数をシフトすることで取得できるように、整数をシフトすることで正しい値を取得するにはどうすればよいでしょうか。

ありがとう。

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

copy - memcpyを使用して2バイトをコピー中にシャッフルされたバイト

上記のプログラムでは、crc 値が 0x72AE になると予想していましたが、結果は crc = 0xAE72 になります。

memcpy を実行しているにもかかわらず、バイトがシャッフルされる理由を理解できませんか?

あらゆる種類の助けをいただければ幸いです。前もって感謝します。