ネガティブとポジティブに対処する2つのショートパンツを1つのINTに梱包する
-
30-10-2019 - |
質問
1つのINTに2つの署名されていないショートパンツを保存するクラスPackEdunSigned1616と、2つの署名されたショートパンツを1つのINTに保存するクラスパックに詰め込まれたクラスを作成しています。私はビットワイズ操作を読み上げましたが、私はまだ、署名と署名されていないものと、短い範囲よりも大きいか小さい(それらは2つのINTとして渡されます)に対処する方法について混乱しています。これが私がこれまでに持っているものです:
public final class PackedUnsigned1616 {
public final int field;
private static final int RIGHT = (2 << 15) - 1;
private static final int LEFT = ((2 << 31) - 1) ^ RIGHT;
public PackedUnsigned1616(int left, int right) {
field = (left << 15) | (right & RIGHT);
}
public int getLeft() {
return field >> 15;
}
public int getRight() {
return field & RIGHT;
}
}
この概念全体が私を非常に混乱させているので、あなたがそれに少し光を当てることができれば、それは非常に役立つでしょう。
正しい解決策はありません
所属していません StackOverflow