首页 > 其他 > 详细

有符号和无符号之间的转化

时间:2014-11-07 11:01:06      阅读:280      评论:0      收藏:0      [点我收藏+]

1.下面这段代码,输出时多少?

1 int _tmain(int argc, _TCHAR* argv[])
2 {
3     for(char a = 0; a < 255; a++)
4     {
5         cout << (int(a))<< endl;
6     }
7     system("pause");
8     return 0;
9 }

答案:是乱码。而并不是0-254的数字。

分析:char类型的是有符号的,数据范围在-128~127,所以当a = 127 + 1后,a = -128了,所以之后输出的数就不可预知了。

正确地写法应该是unsigned char a。

有符号和无符号之间的转化

原文:http://www.cnblogs.com/faith0217/p/4080736.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!