簡體   English   中英

C#將整數轉換為十六進制?

[英]C# Convert Integer To Hex?

我正在使用Cosmos模板來構建ac#os。 我需要編寫自己的方法,該方法會將int值轉換為2字節的use hex值。 我不能使用任何預建函數(例如ToString("X")String.Format )。 我嘗試編寫一種方法,但是失敗了。 有任何代碼,想法,建議或教程嗎?

編輯:好的,現在我們知道您在Cosmos工作,我有兩個建議。

首先:自己構建:

static readonly string Digits = "0123456789ABCDEF";

static string ToHex(byte b)
{
    char[] chars = new char[2];
    chars[0] = Digits[b / 16];
    chars[1] = Digits[b % 16];
    return new string(chars);
}

請注意, byte的參數類型而不是int ,以將其強制為單字節值,並轉換為兩個字符的十六進制字符串。

第二:使用查找表:

static readonly string[] HexValues = { "00", "01", "02", "03", ... };

static string ToHex(byte b)
{
    return HexValues[b];
}

當然,您可以將兩種方法結合起來,使用第一種(相對較慢)的方法來生成查找表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM