bit-shift

    2

    2答えて

    私は多くのコードを実行していますが、これを最適化したいと思います。それは次のようになります。 int exponent; uint32_t mantissa; if (exponent < 0) { return mantissa << -exponent; } else { return mantissa >> exponent; } それは目的だ、非常に明確で

    0

    2答えて

    下記のようなコードがいくつか出てきて、何をしているのか混乱しています。 hash += (hash << 10);

    6

    3答えて

    ファイルの内容を確認するためにチェックサム(CRC16 CCITT)を実装する必要があります。 チェックサムは、< <と>>演算子とネット上で利用可能な多くの例のおかげで、CまたはJavaで実装するのはむしろ簡単です。 私のチェックサム計算はVBScriptで実装する必要があります。 この言語での私の経験はほとんどありませんが、私の理解では、VBScriptでビットシフトを行うためのものは何もあり

    8

    5答えて

    で異なるx = 31または32のJavaでは、次の2つの演算が異なる結果をもたらすのはなぜですか?x=3と同じ結果になりますか? int x=3; int b = (int) Math.pow(2,x); int c = 1<<x; 結果: x=32: b=2147483647; c=1; x=31: b=2147483647; c=-2147483648; x=3: b=8 ;

    8

    2答えて

    私はCで80ビットのキーを含む暗号アルゴリズムを実装しています。 特定の操作では、キーxビットをシフトする回転が必要です。 私は間違っていないと80bitsですが、ビットシフト演算子では動作しないlong double型を試しました。 私が思い付く唯一の選択肢は、いくつかの複雑なループとif-elseで10要素のchar配列を使用することです。 私の質問は、これを実行する簡単で効率的な方法があるか

    6

    2答えて

    はなぜJavaは-2147483648を返すのですか? 期待される結果が ..ウルフラムアルファと私の電卓でテスト9 223 372 036 854 775 808であり、私がテストした: System.out.print((ロング)(1 < <(63)));

    5

    3答えて

    質問タイトルが読み取ると、2^31を符号付きおよび符号なし32ビット整数変数に割り当てると、予期しない結果が得られます。ここで は、私は何が起こっているのか確認するために作られた、(C++中)のショートプログラムです: #include <cstdio> using namespace std; int main() { unsigned long long n = 1<<31;

    0

    1答えて

    int64_t maskTestNum = (1ll << 63); なぜこの値が以下の値として出力されるのか説明できますか? -9223372036854775808 私は、絶対値が正しいと思うが、なぜマイナス記号?

    5

    4答えて

    これは、ビット単位の左シフトとビット単位の右シフトの両方を実装するために必要なものです。LC-3 Assemblyを使用します。基本的には、すべてのビットをシフトの方向に1つのスペースに移動させなければならず、ゼロが作成された空のスペースを埋めます。 例: 右シフト: 01001001 00100100→ 左Shift: ​​ 私は成功したバイナリ文字列を取って、そして自分自身にそれを追加す

    2

    1答えて

    マスキングまたは整数から個々のビットを抽出することを扱う操作のいずれかを実行ビット演算子はエンディアンに依存しますか?私はいくつかのコードを書いたことがありますが、あるタイプのハードウェアにしかアクセスできない場合、演算子がエンディアンに依存しないことを実際に確認することはできません。バグがあれば教えてください。注:このコードは宿題の問題のために書かれた、と個人的な啓発された:あなたの助けを vo