问题标签 [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.

0 投票
1 回答
73 浏览

c++ - 我对这些转变有错吗?

我有一个带前导零的 14 位地址,我想将它分成页码和偏移量。我试图通过移动地址来解决它,但我的偏移量得到了错误的值,但是页码显示正确。你能指出我在哪里错了吗?

页码位为 [2:5] 偏移位为 [6:15]

0 投票
1 回答
55 浏览

floating-point - 用花车换档

运行此代码后,a、b 和 c 的浮点值是多少?解释为什么 a、b 和 c 的位布局会导致每个值都变成原来的样子。

0 投票
1 回答
27 浏览

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 问题...)

0 投票
0 回答
33 浏览

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 个不太重要的位覆盖目标。我不明白如何正确使用变速。感谢大家的帮助。