当前位置: 代码迷 >> C语言 >> 请大家帮忙
  详细解决方案

请大家帮忙

热度:360   发布时间:2007-08-08 18:09:10.0
请大家帮忙
请问这下面三个表达式是什么意思
1.(unsigned char) 500 + 200
2.(unsigned char) (500 + 200)
3.(unsigned int)(unsingned char)750
答案为什么是(1) 为644; (2) 为188; (3) 为238;
先谢谢各们大吓们了

----------------解决方案--------------------------------------------------------

你的(1)的答案应该为444吧??

1的意思是:将(整型)500强制转成(无符号字符型),再加上200
2的意思是:将500和200相加之后再强制转成(无符号字符型)
3的意思是:将750强制转成(无符号字符型),再强制转成(无符号整型).

这中间你要注意:无符号字符型长度只有1个字节,最大值为256.
500=1F4(十六进制),取一个字节就是F4=244(十进制),之后加200 ,就等于444啦.

其它两也是一样.


----------------解决方案--------------------------------------------------------
500-256+200!
700-256*2!
750-256*2!
----------------解决方案--------------------------------------------------------

求(unsingned char) X 的值可用( X Mod 256 ) 来得到.


----------------解决方案--------------------------------------------------------
明白了,谢谢

----------------解决方案--------------------------------------------------------
  相关解决方案