bit-shift

    6

    1答えて

    SHLD/SHRD命令は、複数精度シフトを実装するためのアセンブリ命令です。 uint64_t array[4] = {/*something*/}; left_shift(array, 172); right_shift(array, 172); left_shiftとright_shift、それが大きかったかのように4つの64ビット符号なし整数の配列のシフトを動作させる二つの機能を実装

    0

    1答えて

    私は答えを探しまわってされているが、私はまだJavaScriptがBooleanタイプを取り、intタイプ true >> 0 = 1 false >> 1 = 0

    2

    2答えて

    連鎖ビットシフト演算が連鎖しないのと同じ結果を返さない理由がわかりません。 #include <stdio.h> void bit_manip_func(unsigned char byte) { unsigned char chain = (((byte >> 3) << 7) >> 3); printf("%d\n", chain); //this prints 14

    2

    1答えて

    私は以前のプログラマを編集していたコードでは、shift演算子を使ってsize_tの整数に適度に大きな数を加えました。デバッグの目的でこの特定の整数で試合をしたときに、数値を変更しても予測可能な結果が得られないことがわかりました。 入力: std::size_t foo1 = 100000 << 20, foo2 = 200000 << 20, foo3 = 3000

    -1

    5答えて

    以下のforループを実行するよりエレガントな方法はありますか?ゼロをチェックしてからブレークするif文は醜いですが、私がそれを含めなければ、コードは無限ループになります。 for (int i = 8; i >= 0; i >>= 1) { printf("%d", i); if (i == 0) { break; } } 理想的な出力は次のようにな

    0

    1答えて

    「算術シフト左」の理解に問題があります。私は、次の命令があります:2を左にシフトすることにより SAL $0x2, edx edx = 0xFC 0xFC = 1111 1100 を私たちは持っている必要があります。 1111 0000 = 0xF0 正しいの? edxので

    -1

    1答えて

    私は2バイト左にシフトする必要があります。私は何かの例を見て、彼はバイト0xC0を持っていた。そして、彼が2だけ左にシフトしたとき、彼は0x300を得た。今、私はバイト0xCFを取ろうとしており、それを2だけ左にシフトしようとしています。バイトを2つ左にシフトする方法を説明できる方法はありますか? これを実行するには、C#またはJavaで単純な関数を一緒に配置する方法はありますか? (好ましくはJ

    0

    1答えて

    VHDLで私は14ビットの入力に4を掛けた16ビットの数値を与えるために14ビットの入力を取り、最後に '00'を追加したいと思いますそれが正(入力が常に正)であるように17ビット符号付き変数に変換します。これについてどうすればいいですか? このような? shiftedInput <= to_signed('0' & input & '00', 17); shiftedInput <= to_si

    0

    1答えて

    >>または>>>を使って移動することができますが、別のデータストリームから値をシフトするにはどうすればよいですか?以下のような 何か: always @(posegde(clk)) begin data_shift <= data_shift << DIN (one bit?) end ショートカットはありますか? EDIT:私はばかです。私は必要な信号の部分を連結するだけです。

    3

    2答えて

    私はトランスミッタとレシーバの両方のOFDMシステムをプログラミングしています。ビットが行く最初の関数は、基本的にLFSRであるスクランブラです。私の多項式はx^7 + x^4 + 1です。簡単には、レジスタの7番目と4番目のビットをXORし、シフトレジスタの新しい最初のビットにしますその値を入力値とXORして出力値を取得します。絵画的には、それは下に見ることができます。 私はビットを保持するタイ