首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“移位操作在个别位上”的意思是什么?

“移位操作在个别位上”的意思是什么?
EN

Stack Overflow用户
提问于 2019-01-13 06:10:00
回答 1查看 182关注 0票数 3

我在书中读过这句话:

逻辑指令和移位指令分别对位进行操作,不像算术那样对整个单词进行操作。 用于隔离字段。通过掩蔽或来回移动。

我完全听不懂这两句话。

移位和算术指令都会改变所有的位(在某些情况下),而在算术中,位是一个接一个地来计算答案。

那么,这部分的意思是“指令单独地操作位而不像算术那样操作整个单词”。

我的第二个问题是:

我不知道这部分你能解释一下吗:

用于隔离字段。通过掩蔽或来回移动。

我的第三个问题:什么是逻辑指令。他的意思是,或者,比如说?你能解释更多吗?

EN

回答 1

Stack Overflow用户

发布于 2019-01-13 07:23:15

逻辑指令是和,或,xor,但我不明白第一句。

关于第二个问题,假设你对单词的一部分感兴趣,比如第6..4位,然后你就会提取这个信息。有两种方法可以做到这一点。

  1. 用掩蔽和移动。您设置了一个掩码,其中一个是您感兴趣的字段,另一个是零,然后应用和这个掩码。 未签名原始数据;//初始数据为yyy...yyyxxxyyyy //,其中感兴趣的部分由xxx无符号字段编码;//我们希望有field=00..0xxx无符号掩码= 0x70;// 0.01110000,在有趣的部件字段=原始&掩码;// field=0...00xxx0000字段>>= 4;// field=00...00xxx
  2. 只使用班次 无符号原始字段;//初始数据和有趣字段字段=原始<< 25;//在字段// field=xxxyyyy00..00字段>>= 29的msb中放置有趣的位;//摆脱4 LSB -> field=00...00xxx

如果您希望修改这些位元而不是提取它们,则可以使用类似的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54166507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档