chenfj0606
淡定0606
2015-06-18 00:56
采纳率: 60%
浏览 2.4k

C#16进制转换成10进制的问题

C# int a = 0x00002EE5;

        int b = 5 + 15 * 16 + 15 * 16 * 16 + 2 * 16 * 16 * 16;

        int c = Convert.ToInt32(a);

        运行结果 

        b = 12777
        c = 12005

                    这是哪出现了问题?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • ycg514230
    帘卷西风 2015-06-18 01:00
    已采纳

    E是14,F是15,16进制0到F对应的值是0到15,你重新计算一下
    5 + 14 * 16 + 14 * 16 * 16 + 2 * 16 * 16 * 16 = 12005;

    希望能帮到你。

    点赞 评论
  • bdmh
    bdmh 2015-06-18 01:01

    2EE5转成10进制就是12005,你有什么问题

    点赞 评论
  • bdmh
    bdmh 2015-06-18 01:03

    E对应10进制是14,不是15

    点赞 评论
  • tongyi55555
    JonsonJiao 2015-06-18 01:04

    E代表的是14而不是15.

    点赞 评论
  • ldjunnbor
    Donbor 2015-06-18 01:09

    二楼说得对,你写的b明显是2FF5

    点赞 评论
  • wsh1992o
    存钱买冰棍 2015-06-18 01:16

    E对应的10进制数是14

    点赞 评论
  • a472544436
    a472544436 2019-05-27 17:40

    public static String HexToInt32(string HexStr)
    {
    int sup = 0;
    string sin = "";
    int sum = 0;
    for (int i = 0; i < HexStr.Length; i++)
    {

                int sq = HexStr.Length - i-1;
                sin = HexStr.Substring(i, 1);
                #region
                switch (sin)
                {
                    case "A":
                        sup =10;
                        break;
                    case "B":
                        sup = 11;
                        break;
                    case "C":
                        sup = 12;
                        break;
                    case "D":
                        sup = 13;
                        break;
                    case "E":
                        sup = 14;
                        break;
                    case "F":
                        sup = 15;
                        break;
                    default:
                        sup = Convert.ToInt32(sin);
                        break;
                }
                #endregion
                int zam = Convert.ToInt32(Math.Pow(16, Convert.ToDouble(sq)))*sup;
                sum += zam;
            }
            return sum.ToString();
        }
    
    点赞 评论

相关推荐