社区
Java SE
帖子详情
按位移运算符(>>)和按位与运算符(&)的反运算时什么样的
CTea321
2009-09-11 02:23:59
比如 int i = 9;
int j = 13;
int k = (i&j)>>2;
怎么通过 k与j 的相关运算再得到 i 的值呢
...全文
2560
14
打赏
收藏
按位移运算符(>>)和按位与运算符(&)的反运算时什么样的
比如 int i = 9; int j = 13; int k = (i&j)>>2; 怎么通过 k与j 的相关运算再得到 i 的值呢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
铛铛铛笨笨
2011-04-08
打赏
举报
回复
学习了。不可逆!
clariones
2010-09-14
打赏
举报
回复
这两个运算符都不能逆运算啊。
不如楼主说说要实现啥功能,应该会有其他方案吧
漫步者、
2010-09-13
打赏
举报
回复
通过逆运算了!
eggno8
2010-09-10
打赏
举报
回复
信息丢失就回不来。。。
eggno8
2010-09-10
打赏
举报
回复
如果是想达到简单的编码。又方便的解码。便宜又实惠的方法就是异或,异或c编码,再异或c就回来了。
按位与和移位(循环移位例外,但java好像没有)会造成源字符单元信息丢失,毕竟能表示的位变少了:比如,10010011,11001001这种1个字节内容你最多能表示的信息量就是256种,但你如果按位与了00001111(15)则有效位就变成了4位,那你所有信息量最大就16种,只要有字符用到了高4位,就必定存在信息丢失。
fallea828
2010-09-10
打赏
举报
回复
CTea321
2009-09-11
打赏
举报
回复
看来真的是不能进行逆运算
2楼的理解能力值得怀疑
lxq137171010
2009-09-11
打赏
举报
回复
i是:1001
j是:1101
i&j是:1001. >>2:结果是0010.就是2
火龙果被占用了
2009-09-11
打赏
举报
回复
哪怕是 k = i & j 的话,都回不去了。
因为 0 & 0 = 0, 1 & 0 = 0,如果 k 某位是 0,而 j 的那一位也是 0,那你说 i 的那一位是 0 还是 1 呢?
weejjscsh
2009-09-11
打赏
举报
回复
位移运算有可能会丢失一部分数据
逆运算会出错的
healer_kx
2009-09-11
打赏
举报
回复
理论上不可逆的。
简单说,
因为 >> 运算,会丢失一些信息。
因为
当i = 11;的时候
你会发现k的值依然是2,那么通过2和j的值,怎么知道i是9,还是11呢?也就是说,不可逆。
bigbug9002
2009-09-11
打赏
举报
回复
不知所云.
i是:1001
j是:1101
i&j是:1001. >>2:结果是0010.就是2
lkf15080
2009-09-11
打赏
举报
回复
学习一下啊
JavaScript
位移
运算
符
(无符号) >>> 三个大于号 的使用方法详解
主要介绍了JavaScript
位移
运算
符
(无符号) >>> 三个大于号 的使用方法详解的相关资料,需要的朋友可以参考下
C语言 位
运算
PPT课件.pptx
C语言 位
运算
PPT课件.pptx
C语言
运算
符
优先级表.pdf
C语言
运算
符
优先级表.pdf
第 位
运算
PPT学习教案.pptx
第 位
运算
PPT学习教案.pptx
C语言
运算
符
优先级
C语言
运算
符
优先级,个人总结的,清楚易理解的pdf文档,分享给大家。
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章