日期:2014-05-20  浏览次数:20679 次

一个数字类型转换为char类型的疑问
在研究一个字符转换的问题   有一个疑问  

就是   当   从一个int变量   i   范围是   0     到       int.MaxValue     之间的   数字  
如果   用(char)强制转换   那么会出错误么.                  
有没有一个数字不表示一个字符的情况出现那.关于一个解密的问题.

------解决方案--------------------
肯定有了啊!
------解决方案--------------------
k是0,转换不会出错
但是int和char的存储空间不一样,int转过去的char并不一定是你想要的结果
------解决方案--------------------
转换不会出错...

char是两个字节,int是四个字节..

转换时,会先截取int的低两个字节,然后再进行转换..
------解决方案--------------------
举个例子你就明白了..

Console.WriteLine((char)(0x0034));
unchecked {
Console.WriteLine((char)(0x110034));
}

输出:
4
4