次の2つのメソッドをC#に変換しようとしています。率直に言って、私はちょうど2つの方法が本当に裏で働いているか理解できません。だからここで答えと説明がすばらしくなるだろう。JavaメソッドをC#に変換する:ビットシフト演算子を使用してバイトを整数に変換する
public static int bytesToInt(byte b0, byte b1, byte b2, byte b3)
{
return (((int)b0 << 24) & 0xFF000000)
| (((int)b1 << 16) & 0x00FF0000)
| (((int)b2 << 8) & 0x0000FF00)
| ((int)b3 & 0x000000FF);
}
public static byte[] charToBytes(char c)
{
byte[] result = new byte[2];
result[0] = (byte) ((c >>> 8) & 0x00FF);
result[1] = (byte) ((c >>> 0) & 0x00FF);
return result;
}
第2の方法は、第1の方法とは異なるシフト演算子が使用されているので、特に混乱します。
ご協力いただきありがとうございます。
を受け入れました。ヘルプと説明をありがとう! – AndHeCodedIt