标题:[挑战]侮辱你的智商 之 HEX问题
只看楼主
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
 问题点数:0 回复次数:2 
[挑战]侮辱你的智商 之 HEX问题
找出问题说明原因并且提出解决方案,缺一不可
public class Test {

public static void main(String[] args){
System.out.println( Long.toHexString(0x100000000L + 0xbbbbcccc) );
}

}
搜索更多相关主题的帖子: 智商 HEX 挑战 
2006-09-25 10:53
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
这个题目,0xbbbbcccc就已经是负数了,因为int值的正数最大值是0x7FFFFFFF
所以这个时候0xbbbbcccc的最左边位就成了1了,然后它要和long值相加,
按照规定,先转化成long再相加,转化的时候,符号位是要保留的
所以0xbbbbcccc变成的long值就是0xffffffffbbbbcccc
然后他们两加这个时候,其实也是0xffffffffbbbbcccc+0x0000000100000000=0x100000000bbbbcccc
long只有64位,所以取0x00000000bbbbcccc
所以最后的结果就是"bbbbcccc"


可惜不是你,陪我到最后
2006-09-25 11:29
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
恩,不错,我又损失了500 5555555555

淘宝杜琨
2006-09-25 11:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-92771-1-1.html




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

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