| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 809 人关注过本帖, 1 人收藏
标题:这现象 问老师都无解!求解释!
只看楼主 加入收藏
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:2 
额,那时候老师紧张了
2012-11-12 17:27
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:2 
char是有符号的,所以ff为-1,当它提升为4个字节的时候,为了保证-1的意义不变,所以为ffffffff。这跟范围其实没什么关系。

My life is brilliant
2012-11-12 22:30
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
以下是引用lz1091914999在2012-11-12 22:30:12的发言:

char是有符号的,所以ff为-1,当它提升为4个字节的时候,为了保证-1的意义不变,所以为ffffffff。这跟范围其实没什么关系。

有见地,应该是这样,11,22,33这三个最高位为0,前面6为全补0,11其实是0x00000011,22其实是0x00000022,33其实是0x00000033,到了ff也就是0b11111111,char中表示-1,其最高位为1,为了不改变值,前面6位全补1,ff其实是0xffffffff,所以楼主程序运行结果可以理解!

小小战士,战士中的战斗机!
2012-11-22 12:37
快速回复:这现象 问老师都无解!求解释!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019549 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved