【求助】关于与运算

samuelson1970 2008-03-13 01:44:50
我有一个整数,想通过与运算,取到这个数的二进制后四位。
问题现在整数的位数不清楚。这时候代码怎么写啊?
...全文
96 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
霜之哀伤 2008-03-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 samuelson1970 的回复:]
就是说前面所有位都默认为0了是吧
也就是我写0xf,0x0f,0x000f,0x00000000f都是可以的了?
[/Quote]
//额,是的。写个程序试试就知道了。
samuelson1970 2008-03-13
  • 打赏
  • 举报
回复
就是说前面所有位都默认为0了是吧
也就是我写0xf,0x0f,0x000f,0x00000000f都是可以的了?
霜之哀伤 2008-03-13
  • 打赏
  • 举报
回复
你要取哪一位,哪一位就置为1。 因为 0 和 1 与 1 与,结果都是原来的数。
霜之哀伤 2008-03-13
  • 打赏
  • 举报
回复
0x000f 是16进制,换成二进制是 0000 0000 0000 1111(整数都是32位的,省略前面的位数)
你要取后面四位嘛,整数换成二进制的话是: 0000 0010 0000 0001(整数都是32位的,省略前面的位数)
那么,上面两个数按位与,结果就是 最后四位了。
samuelson1970 2008-03-13
  • 打赏
  • 举报
回复
这个怎么规定的啊?谁能说个明白
霜之哀伤 2008-03-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 samuelson1970 的回复:]
直接用0xf不行么
[/Quote]
//可以
sunnylyy 2008-03-13
  • 打赏
  • 举报
回复
应该是0x0000000f
samuelson1970 2008-03-13
  • 打赏
  • 举报
回复
直接用0xf不行么
samuelson1970 2008-03-13
  • 打赏
  • 举报
回复
为什么是这样?0x000f,表示什么?前面所有位都是0吗?
霜之哀伤 2008-03-13
  • 打赏
  • 举报
回复
int x = n & 0x000f;

62,623

社区成员

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

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