位操作的问题

milo4210 2008-05-20 01:01:22
我有个Long 类型的变量,现在需要将它和一个十六进制的数 "0xffff0000" 做 与运算,请问这样写是否正确,还是说要将long类型的转化成其他类型的,如 十六进制?

long t = 672006144;
long r = t & 0xffff0000;

System.out.print(r);


...全文
74 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
milo4210 2008-05-20
  • 打赏
  • 举报
回复
谢谢啦!结贴!
psyl 2008-05-20
  • 打赏
  • 举报
回复
呵呵,上边人有解释却没结果,回答要到位。

我回答下:你这样写就可以,而且结果不变!
milo4210 2008-05-20
  • 打赏
  • 举报
回复
那就是说,我那样写就可以,对吧?
cyberpeng 2008-05-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 preferme 的回复:]
你的那个变量672006144换算成十六进制是280E0000
所以,与0xffff0000进行与运算,结果不会变。
[/Quote]

正解
冰思雨 2008-05-20
  • 打赏
  • 举报
回复
0&0=0
0&1=0
1&1=1
1&0=0
冰思雨 2008-05-20
  • 打赏
  • 举报
回复
你的那个变量672006144换算成十六进制是280E0000
所以,与0xffff0000进行与运算,结果不会变。
milo4210 2008-05-20
  • 打赏
  • 举报
回复
如果是就这样写,问题来了,我记得 0 与任何 数做与操作,结果都是0 ,但我输出结果却是 672006144,就是说将long变量原样输出了 ,这是为什么?
milo4210 2008-05-20
  • 打赏
  • 举报
回复
那我这样写是不是就可以?
dracularking 2008-05-20
  • 打赏
  • 举报
回复
不用转 系统会自动转 与运算是二进制运算

62,614

社区成员

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

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