0

タイプint(10進数)の1つのパラメーターを受け取りstring、16進数のint値を含む関数を作成する必要がありますが、形式は 0xyyです。
それ以上に、回答を 4 バイトの固定形式にしたい例:

int b = 358;
string ans = function(b); 

この場合 ans = "0x00 0x00 0x01 0x66"

int a = 3567846; 
string ans = function(a);

この場合 ans = "0x00 0x36 0x70 0xE6"

4

2 に答える 2

5

これはあなたの例と一致するはずです:

static string Int32ToBigEndianHexByteString(Int32 i)
{
    byte[] bytes = BitConverter.GetBytes(i);
    string format = BitConverter.IsLittleEndian
        ? "0x{3:X2} 0x{2:X2} 0x{1:X2} 0x{0:X2}"
        : "0x{0:X2} 0x{1:X2} 0x{2:X2} 0x{3:X2}";
    return String.Format(format, bytes[0], bytes[1], bytes[2], bytes[3]);
}
于 2013-01-02T12:16:33.733 に答える
1

あなたが望むフォーマットは似たようなものだと思います

int ahex = 3567846;
byte[] inthex = BitConverter.GetBytes(ahex);
Console.WriteLine("0x"+ BitConverter.ToString(inthex).Replace("-"," 0x"));
于 2013-01-02T12:13:41.323 に答える