csharp 10进数から16进数へ

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 10进数から16进数へ相关的知识,希望对你有一定的参考价值。

// http://www.asahi-net.or.jp/~ax2s-kmtn/ref/bdh.html 参照
// https://msdn.microsoft.com/ja-jp/library/bb531208.aspx 参照
//
// 10進数から16進数へ変換するには、10進数を16で割って
// その商をさらに16で割る、またその商を16で割って…と
// 余りを出しながら商が0になるまで繰り返します。そして最後の余りを先頭に下から順に並べます。
int target = 230;

var table = new Dictionary<int, string>()
{
    {10, "A"},
    {11, "B"},    
    {12, "C"},
    {13, "D"},
    {14, "E"},
    {15, "F"}
};

var lists = new List<string>();
int div = target;
while (true)
{
    var mod = div % 16;
    div = div / 16;
    
    lists.Add(table.ContainsKey(mod) ? table[mod] : mod.ToString());
    
    if (div == 0)
    {
        break;
    }
}

lists.Reverse();
lists.Dump();

以上是关于csharp 10进数から16进数へ的主要内容,如果未能解决你的问题,请参考以下文章

csharp [33进数変换]误読しやすいILOを除くA〜Zと数字で采番

sql [33进数→10进数変换]误読しやすいILOを除くA〜Zと数字で采番

51nod1413 权势二进数

php使用位与运算符&或|实现权限管理

7. 进制转化的原理

十六进制怎么转换成十进制?