问题标签 [uint16]
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++ - 减去 uint16_t 值有点困惑
所以我试图将两个 uint_16 值相减,每次我这样做时都会出错。
我知道您需要转换它,但是如何转换,并且这样做不会丢失数据。
c - 为什么 CDROM_TOC.Length 是 UCHAR[2] 而不是 WORD?
在文档中,长度由两个无符号字节组成:
长度
指示目录数据的长度(以字节为单位)。此长度值不包括 Length 成员本身的长度。
当你WORD
在 Little Endian 中形成 a 时,确实是正确的值,但他们为什么选择不WORD
直接使用 a 呢?
python - 将 16 位无符号整数数组转换为位的快速方法
我有一个包含 16 位无符号整数的 3d 数组的大型数据集。我想将每个整数转换为位,然后只保留其 8:12 位为“0000”的位置到目前为止,我在三个阶段中使用了一种非常慢的循环方法:
如果您能建议我为此提供一个干净快速的替代方案,我将不胜感激
javascript - 使用原始 UInt16Array 值 javascript 渲染到画布
我正在尝试从 JavaScript 中的 Uint16Array 渲染图像。我没有收到任何捕获的错误,但没有渲染到画布上。
pixelDataReference 控制台输出到::
编辑_
那是我没有使用 4 通道颜色阵列,而是使用颜色的二进制通道。解决方案是将记录颜色的大小增加到 4 个字节长,并在主线程上查看为 1 个字节长。但是:如果我尝试使用
new Uint8ClampedArray(data.buffer) 访问 SharedMemory,我会收到以下控制台警告。
所以下一步是在主线程上创建临时数组;
但这实际上只是将信息从 sharedMememory 重新压缩到每次渲染的新内存插槽......有效地将相同的信息绘制到数组中两次。有没有更快的方法让我将 pixelData 从 sharedMemory 中取出并放到画布上?
python - 将数组显示为 .tif 文件中的图像,其值为 uint16
我有一个来自 CT 扫描的 .tif 文件,我想将其可视化为图像。后来用于训练卷积神经网络。
我想尽可能地保留原始格式。
哪个库可以显示这种图像?
我怎样才能在不丢失信息的情况下对其进行规范化?
c++ - 在 C++ 中将 IPV6 字符串转换为 uint16_t 数组
我有一个 IPV6 字符串作为下面的示例:
我正在尝试找到最干净的方法将其转换为包含 1 - 8 的 8 个值的 uint16_t 数组。
我不能使用 inet_pton()
我可以创建自己的解析函数,但是我试图让 sscanf 如下工作但没有成功。任何帮助,将不胜感激。编辑:值将始终在字符串中以十六进制格式表示。
c - C int 内存存储。最低有效位与最高有效位?
当我在内存中连续组合它们时,我希望以下两个uint8_t
(0x00 和 0x01)uint16_t
合二为一,给我一个 0x0001 的值。相反,我得到了 0x0100 = 256,这让我很惊讶。
谁能解释一下我目前对 C 内存的理解中遗漏了什么?谢谢!:-)
c - 在 C 中计算二进制文件的排序,仅包含 uint16_t 数字
我正在努力完成以下任务:编写一个带有两个参数的 C 程序:input.bin 和 output.bin。
- input.bin 和 output.bin 是二进制文件
- input.bin 最多可以包含 65535 个 uint16_t 数字
- 文件 output.bin 必须由程序创建,并且必须包含 input.bin 中按升序排序的数字
- 您的程序只能使用 256 KB RAM 和 2MB 磁盘空间
所以,我想我可以尝试用计数排序来做到这一点。这就是我所做的:
但不幸的是,它给了我分段错误,它不起作用,我不知道为什么:(
c++ - 将 uint8_t* 缓冲区转换为 uint16_t 并更改字节顺序
我想处理外部库提供的数据。
lib 保存数据并提供对它的访问,如下所示:
我知道当前数据包含两个uint16_t
数字,但我需要更改它们的字节顺序。因此,数据总共有 4 个字节长,并包含以下数字:
66 4 0 0
所以我想分别得到两个uint16_t
数字1090
和0
值。
我可以做基本的算术,并在一个地方改变字节顺序:
但是我想做一些更优雅的事情(如果有更好的方法来获取uint16_t
s,那么向量是可替换的)。
我怎样才能更好地uint16_t
创造uint8_t*
?如果可能的话,我会避免使用 memcpy,并使用更现代/更安全的东西。
Boost 有一些不错的仅包含标头的字节序库,它可以工作,但它需要一个uint16_t
输入。
为了更进一步,Boost 还提供了用于更改字节顺序的数据类型,因此我可以创建一个结构:
是否可以安全地(填充、平台依赖性等)将有效的 4 字节长uint8_t*
转换为datatype
?也许有像这个工会这样的东西?
python-3.x - 使用 Python3 读取 Big-endian,uint18 二进制文件
使用 Python3 读取文件时遇到一些奇怪的问题。使用 Matlab 我有代码
数据现在是一些形状矩阵(10127、4096),这很好(后来我将其重塑为 10100x 4096 形式)
使用 Python3,我尝试使用不同的方法读取同一个文件,即
这是 在 Python 中读取二进制大端文件中给出的 。不幸的是,这会给出错误
我使用 Python3 的方法如下
我可以很容易地把它重塑成我想要的形状
现在问题/奇怪的部分是,y 轴上的比例完全不同。(x 轴看起来完全一样)。
使用 matlab (data(:,1)) 的第一个数据“行”的最大值为 118,而 Python 为 30208。
我有点担心,即使图形的形状相同(y 轴上的比例不一样),结果也不会完全正确。
有任何想法吗?