经典作品--Java解惑谜题连载⑤

weiqiyiji 2007-07-11 06:04:46
下列程序的输出结果,为什么

System.out.println(Long.toHexString(0x100000000+0xcafebabe));
...全文
304 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianwu1984 2007-07-12
  • 打赏
  • 举报
回复
ox----十六進制
blackboy_my 2007-07-12
  • 打赏
  • 举报
回复
牛啊,我怎么看不懂是什么意思啊?用的全是地址吧?
这样有什么用吗?快吗?
  • 打赏
  • 举报
回复
报错,原因:0x100000000 未加任何后缀,其为 int 类型,如果是 int 的话,0x 后面最多只能有八位,因为 int 类型采用 8 个字节来表示的,要让其正确只要改成:

System.out.println(Long.toHexString(0x100000000L+0xcafebabeL));

加个“L”采用 long 型数据来表示就可以了。
Fantongking 2007-07-12
  • 打赏
  • 举报
回复
test.java:3: 过大的整数: 100000000
System.out.println(Long.toHexString(0x100000000+0xcafebabe));
^
1 错误
weiqiyiji 2007-07-11
  • 打赏
  • 举报
回复
up
insiku 2007-07-11
  • 打赏
  • 举报
回复
64 = 8 * 8
ljydomybest 2007-07-11
  • 打赏
  • 举报
回复
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The literal 0x100000000 of type int is out of range
weiqiyiji 2007-07-11
  • 打赏
  • 举报
回复
up
codeartisan 2007-07-11
  • 打赏
  • 举报
回复
这个看不懂了...

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧