bit-manipulation

    0

    3答えて

    私はオーバーフローをチェック/防止する(〜〜&^+のみを使用しますが、それを得ることはできません)という2つの関数を記述しようとしています。最初は、特定の2つの補数/符号付きintが、証明書のビット量に収まるでしょう:fitsB(int x、int n)ここで、intは、使用するビットのサイズです。一緒に追加されたときに2つのintがオーバーフローしないかどうかをチェックする関数:overflow

    1

    6答えて

    私は2の累乗(1,2,4,8など)の整数入力を持っています。私は関数がlog()を使わずにビット位置を返すようにしたい。たとえば、上記の入力はそれぞれ{0,1,2,3}を返します。これはC#の場合です。これがSQLで実行できる場合はプラスです。 ありがとうございます!

    2

    6答えて

    私は24人以下の演算子を持つビット方式を作成する必要がある宿題をしています。私のコードは動作しますが、私は25人のオペレータを持っています。誰かがコードを実行するより効率的な方法を見つけることができますか? int isGreater(int x, int y) { int xSign = (x>>31); int ySign = (y>>31); i

    2

    1答えて

    x + yがオーバーフローするかどうかを調べるビット単位の演算を使用してCでメソッドを作成する必要があります。私は次の操作のうち最大20個しか使用できません。 ! 〜&^| + < < >>負数と正数の両方をテストする必要があることに注意してください。 私はそれを動作させるために数回試しました。私の論理は響きますか?私は行こうとしている: (x + y)がxより小さければ、オーバーフローしている。

    1

    2答えて

    多くの場合、は40億の番号の中から欠けている番号を検出しようとしています。 推奨されるアプローチは、(メモリの制約が問題の一部である)ビットセットを使用するように見えます。 投稿の例はfind-an-integer-not-among-four-billion-given-onesで、私はここのSOにリンクすることもできます。 私の問題は次のとおりです。ビットセットのアプローチは暗黙のうちに数字が

    11

    5答えて

    unsigned reverse_bits(unsigned input) { //works on 32-bit machine input = (input & 0x55555555) << 1 | (input & 0xAAAAAAAA) >> 1; input = (input & 0x33333333) << 2 | (input & 0xCCCCCCCC

    1

    2答えて

    DynamicLinq.csクラスを使用しており、ビット単位のデータ値をチェックするためにクエリのwhere句を設定しようとしています。 列挙の例は、(フラグが列挙の属性があります): None = 0 Flag1 = 1 Flag2 = 2 Flag3 = 4 は、私たちが特に達成したいことは「フラグ1」の値は1、3、5 & 7の解決された値を除外すなわち除いたデータを返すことで

    0

    1答えて

    *this = *that は「この」に「は」はビットごとの割り当てを行う、またはthisのクラスの代入演算子を呼び出します場合、私は思ったんだけど。 ありがとうございます!

    1

    2答えて

    intの値が(各ビットがフラグである)ビットフィールドとして使用されているテーブルを持っています。 ように、今、私は(私の場合にはOR)バイナリ操作でそれらを集約したいと思います:これを行うには良い方法だろうどのような値171 につながる SELECT 1 AS bitfield INTO #TABLE UNION ALL SELECT 1 + 2 + 8 + 32 UNION ALL SE

    0

    1答えて

    私は大きくて少し面白いレッスンを読んでいますendianness。擬似コードサンプルでは、​​longInt(4バイト)をビッグエンディアンからリトルエンディアンに変換する方法、またはその逆の方法を説明しています。 Function Reverse (N:LongInt) : LongInt ; Var B0, B1, B2, B3 : Byte ; Begin B0