bit-shift

    0

    1答えて

    。例えば0xFE10は、0xF(バイナリで1111)を出力するはずです。 これはクアルコムのインタビューの質問です。これは、これまでのところ、私の考えです: 私は16ビット整数を呼び出しています: int num = /*whatever the number is*/ は、4ビットマスクを持っている: int zeroTo4 = (num & 0x000F); int fiveTo5 =

    17

    7答えて

    私は80x86アセンブラで作業する方法を学んだので、ビット単位のシフト操作ではSALとSHLの使用に問題がありました。私は以下のコード行の違いを意味します: MOV X, 0AAH SAL X, 4 MOV X, 0AAH SHL X, 4 いつSHLを使用し、SALを使用する必要がありますか?それらの違いは何ですか? thisによれば

    5

    2答えて

    誰かが私のようにARMのビットシフトを私が5であると説明できますか?ビットシフトとビット演算子の概念を理解するのが難しいので、10進数以外のシステムを含むものについては、私は理解していません。 次の場合はそれぞれ何が起こりますか(なぜR3になるのでしょうか?ビットレベルで何が起こるのでしょうか)。 /** LSL **/ mov r0, #1 mov r3, r0, LSL#10 /**

    12

    2答えて

    これらが欠落している特定の理由はありますか? これらは、BigIntegerに存在しますが、変更可能なデザインパターンがBigIntegerのため、通常は非常に遅いです。 BitSetは、それが変更可能であるためにはるかに良いですが、私は実際にshift関数(<<と>>>のlongのs)を逃しています。 BitSetについては、インプレースシフトも循環回転と同様に有用であろう。 私はShiftin

    2

    3答えて

    Javaのビットシフトとビット単位の動作を再現しようとしています。 これまでこれをやろうとしたことがありますか?また、ロングでも確実に一貫してどのように対応できますか? var i=[some array with large integers]; for(var x=0;x<100;x++) { var a=a large integer; var z=

    3

    1答えて

    したがって、私はcharを長くしてから、クリアして、もう一度やり直しています。シフトが15になると私のマシンは変わってしまいます。コードのコメントを見てください。あなたはこれを引き起こしていると思いますか? このマシンのchar 0x00で、そして長い0000 0000 unsigned char temp; unsigned long open_code; temp = 0

    0

    4答えて

    これは混乱を招くラインである:それはright shift operatorあるx_next = (x_next + (a // x_prev)) >> 1

    1

    1答えて

    私は私が正しくこれらのフィールドを抽出していた場合、あなたが私に言うことができる期待していたC.でCPUキャッシュエミュレータを構築しています: を32ビットアドレスのように分割する必要があります次の: void extract_fields(unsigned int address){ unsigned int tag, index, offset; // Extract

    5

    1答えて

    次のコードは0,1,32,33を出力します。最小限に言えば直感的ではないです。しかし、リテラル1を型宣言された定数 "ONE"に置き換えると、ループは正常に動作します。 これはgcc 4.6.2と-std = C++ 0xです。 #include<iostream> #include<cstdint> using namespace std; int main() { i

    3

    4答えて

    私は、次のコードを得た:-64: int main(int argc, char *argv[]) { char c = 128; c = c >> 1; printf("c = %d\n", c); return 0; } は勝利XPの32ビットに上記のコードを実行し、私は結果を得ました。なぜ-64ですか?