社区
Java SE
帖子详情
按位移运算符(>>)和按位与运算符(&)的反运算时什么样的
CTea321
2009-09-11 02:23:59
比如 int i = 9;
int j = 13;
int k = (i&j)>>2;
怎么通过 k与j 的相关运算再得到 i 的值呢
...全文
2546
14
打赏
收藏
按位移运算符(>>)和按位与运算符(&)的反运算时什么样的
比如 int i = 9; int j = 13; int k = (i&j)>>2; 怎么通过 k与j 的相关运算再得到 i 的值呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
学习一下啊
C语言
运算
符
优先级整理收藏备用.docx
C语言
运算
符
优先级 在C语言中,
运算
符
优先级定义了表达式中
运算
符
的计算顺序。当一个表达式中有多个
运算
符
时
,高优先级的
运算
符
会先被...7. **
位移
运算
符
`和 `>>`**:进行位左移和位右移操作。 8. **关系
运算
符
`<`
JavaScript
位移
运算
符
(无符号) 三个大于号 的使用方法详解
d3.bisector(accessor)是一种指定参数accessor或者比较器函数返回一个二等分对象...N>>>1就代表N的二进制右移一位,二进制右移一位就能得到中间值。 例如 10>>>1 10的二进制代码为 1010 向右移动一位后为 0101 即 5
C#中38个常用
运算
符
的优先级的划分和理解
在C#中,一共有38个常用的运用符,根据它们所执行
运算
的特点和它们的优先级,为了便于记忆,我将它们归为七个等级:1、单元
运算
符
和括号。2、常规算术
运算
符
。3、
位移
运算
符
。4、比较
运算
符
。5、逻辑
运算
符
。6、各种...
简介C++编程中的
运算
符
重载
所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此,一个函数名就可以用来代表不同功能的...“是C++的位
运算
中的
位移
运算
符
(左移),但在输出操作中又是与流对 象cout
javascript基本语法
:)、
位移
运算
符
(|,&,<<,>>,~,^)和字符串
运算
符
(+)。 可能很多人不知道”===”是什么。 在这里,我为大家解释一下,在javascript中,“==”是等同
运算
符
。 等同
运算
符
的比较规则: 当两个
运算
数的类型不同
时
:...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章