operators - 数学等价于双右移和 AND 运算符?
问题描述
我必须在我的程序代码中重写以下表达式:
arr[i] = (arr[i] << 16) & 0x00FF0000;
我可以用乘法/除法运算符重写它吗?
解决方案
它应该是
arr[i] = (arr[i] % 256) * 65536;
但按位运算更快
推荐阅读
- c++ - 在文本文件的特定行和列上插入值
- php - 上传文件并保存到数据库
- java - 随机汽车颜色生成器
- java - 在 Linux 上运行时如何为 Chrome 驱动程序设置自定义 TMPDIR?
- javascript - 即使您在 `ember-typescript-cli` 中使用 `YourModel.create({…})`,`cannot read property 'setDirtyAttribute' of null`
- .net - dataBinding - DAO.recordset 到 MSDBGrid
- java - 当按下 Resume 按钮时,我可以使用 POST METHOD 发送相同的数据吗?
- java - 循环内的随机数生成器
- python - 如何在组中查找缺失值
- javascript - 如何访问容器搜索 Firefox 插件