首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >你有没有在实际项目中使用过位移位?

你有没有在实际项目中使用过位移位?
EN

Stack Overflow用户
提问于 2009-02-06 15:10:04
回答 37查看 36.4K关注 0票数 83

你有没有在实际的编程项目中使用过bit shifting?大多数(如果不是所有的)高级语言都有移位运算符,但是什么时候你真正需要使用它们呢?

EN

回答 37

Stack Overflow用户

回答已采纳

发布于 2009-02-06 15:30:47

我仍然为硬件中没有浮点支持的系统编写代码。在这些系统中,几乎所有的算术运算都需要进行位移位。

此外,您还需要移位来生成散列。多项式运算(CRC、里德-所罗门码是主流应用)或者也使用移位。

然而,使用移位只是因为它们很方便,并且准确地表达了作者的意图。如果你愿意,你可以用乘法来模拟所有的位移位,但是这样写起来会更难,可读性更差,有时还会更慢。

编译器检测乘法可以简化为移位的情况。

票数 60
EN

Stack Overflow用户

发布于 2009-02-06 15:12:47

我一直在使用它们的一个地方是在跨平台应用程序中调换整数的字节顺序时。在处理2D图形时,它们有时也会派上用场(以及其他位操作操作符)。

票数 15
EN

Stack Overflow用户

发布于 2009-02-06 15:13:02

我已经使用过它们几次,但几乎总是用于解析二进制文件格式。

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

https://stackoverflow.com/questions/520625

复制
相关文章

相似问题

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