问题标签 [byte-shifting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 我对这些转变有错吗?
我有一个带前导零的 14 位地址,我想将它分成页码和偏移量。我试图通过移动地址来解决它,但我的偏移量得到了错误的值,但是页码显示正确。你能指出我在哪里错了吗?
页码位为 [2:5] 偏移位为 [6:15]
floating-point - 用花车换档
运行此代码后,a、b 和 c 的浮点值是多少?解释为什么 a、b 和 c 的位布局会导致每个值都变成原来的样子。
python - Python-numpy 读取字节和偏移到有符号的 int32
我有一个操作可以在 python 中应用于超过 1000 万个值。我的问题是优化实际操作。我有 2 种工作方法,numpy 和 python vanilla。
Python 原版操作:
- 1:我的原始值是4个
byte
数据:b'\x9a#\xe6\x00'
=[154, 35, 230, 0]
=[0x9A, 0x23, 0xE6, 0x00]
- 2:我取最后一个字节,先放入:
b'\x00\x9a#\xe6'
=[0, 154, 35, 230]
=[0x00, 0x9A, 0x23, 0xE6]
- 3:我将其转换为 int32 有符号值:
-433874432
文件加载:
数据操作:
numpy 操作
文件加载:
数据操作:
它执行与香草相同的处理,但在这里速度较慢,因为numpy.ndarray
它被触发了 1000 万次......
问题
我的问题如下:
我希望 numpy 版本对所有值进行按位操作而不进行操作for loop
(在 python 中非常慢)...欢迎任何其他解决该问题的方法(不是关闭 XY 问题...)
c++ - 屏蔽和移位,uint8_t 到 uint32_t
如果这是一个新手问题,请原谅:
我有四个 uint8_t 变量:第一、第二、第三、第四。
我的目标是将它们放在 uint32_t 中,例如 uint32_t 将组成为:
第四第三第二第一,但仅将每个 uint8_t 的前 7 个较低有效位放入 uint32_t,因此用 0 填充 uint32_t 的 4 个最高有效位。
例如,假设:
第一个 = 10000000 -> 我要输入 0000000
第二 = 10011001 -> 我要输入 0011001
第三 = 10101010 -> 我要输入 0101010
第四 = 01111111 -> 我要输入 1111111
uint32_t 最终应该是:
00001111 11101010 10001100 10000000
即:4zerosOfPadding-fourth-third-second-first
如何使用遮罩和移位来做到这一点?
编辑:我尝试的是:
但我得到的是,我每次都用当前 uint8_t 的 7 个不太重要的位覆盖目标。我不明白如何正确使用变速。感谢大家的帮助。