2

の16進文字列があると仮定しましょう

00 00 04 01 11 00 08 00 06 C2 C1 紀元前

これで、7 番目、8 番目、および 9 番目のオクテットは、生成する必要がある数値です。ヘックスは

00 06 C2

この数は になります1730。以下で、これをどのように単純化できますか?

byte b1 = 0x00;
byte b2 = 0x06;
byte b3 = 0xC2;

Console.WriteLine(Convert.ToInt32((Convert.ToString(b1, 16)) + (Convert.ToString(b2, 16)) + (Convert.ToString(b3, 16)), 16));

もっと簡単な方法が必要であることはわかっています。試しConsole.WriteLine((b1 + b2 + b3).ToString());ましたが、うまくいきません。

4

3 に答える 3

1

これを試すことができます:

    byte b1 = (byte)0x00;
    byte b2 = (byte)0x06;
    byte b3 = (byte)0xC2;
    int i = ((b1 & 0xFF) << 16) | ((b2 & 0xFF) << 8) | (b3 & 0xFF);

編集:

    byte b1 = (byte)0x00;
    byte b2 = (byte)0x06;
    byte b3 = (byte)0xC2;
    int i = (b1 << 16) | (b2 << 8) | b3;
于 2013-05-16T06:41:30.170 に答える