2 chenfj0606 chenfj0606 于 2015.06.18 08:56 提问

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

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

                    这是哪出现了问题?

6个回答

ycg514230
ycg514230   Rxr 2015.06.18 09:00
已采纳

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

希望能帮到你。

bdmh
bdmh   Ds   Rxr 2015.06.18 09:01

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

bdmh
bdmh   Ds   Rxr 2015.06.18 09:03

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

tongyi55555
tongyi55555   2015.06.18 09:04

E代表的是14而不是15.

ldjunnbor
ldjunnbor   2015.06.18 09:09

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

wsh1992o
wsh1992o   Rxr 2015.06.18 09:16

E对应的10进制数是14

Csdn user default icon
上传中...
上传图片
插入图片