首页 新闻 会员 周边

数据类型byte的疑问

0
[已解决问题] 解决于 2008-02-02 16:34
<P>先看一段代码:</P> <P>byte a=10,b=20;</P> <P>byte c=a+b;</P> <P>编译时候错误如下:</P> <P>Error:Cannot implicitly convert type 'int' to 'byte'</P> <P>然后偶就看了MSDN</P> <P>byte myByte=255;</P> <P>MSDN上说:</P> <P>以上声明中,整数255从byte隐式转换成int,如果整数超出byte范围编译会出错.</P> <P>偶现在就不明白了,为什么声明一个byte类型的会转换成int类型?</P>
huangzheng的主页 huangzheng | 菜鸟二级 | 园豆:205
提问于:2008-02-02 15:43
< >
分享
最佳答案
0
因为要进行"相加"的计算. .net上所有数值类型的计算都采用32位或64位进行.原因可能是为了效率,也可能是为了精度. a+b这里为了计算,先产生两个临时的Int32, 然后相加, 得到的和(肯定也是个Int32)就是整个表达式的结果.
deerchao | 大侠五级 |园豆:8367 | 2008-02-02 16:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册