问题标签 [nibble]

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 回答
48 浏览

c# - 将 2 个整数合并为 1 个字节

从昨天开始我一直在做这件事,我似乎无法完全理解位移。我想要完成的是,我需要将 2 个数字合并为 1 个字节。第一个数字在前四位,第二个在后四位。

0001 = 1

0110 = 6

然后使它们成为二进制“00010110”中的 1 个字节。

之后,我还想分别提取 1 和 6。我怎么做?

我所能做的就是从这里的另一个问题中提取:

0 投票
0 回答
171 浏览

c++ - 对 enum 和 typedef 结构进行正确的位打包

我正在尝试进行一些位打包以尽可能以小格式传输数据,但我不确定如何存档它,我从一个 typedef 结构开始,我在其中为每个元素指定了大小,但是当我尝试使用传输它时UART,在另一端,我将它作为每个元素的一个字节接收

对于上面的代码,我将数据发送为:

十六进制:[1][1][6][32]

二进制:00000001 00000001 00000110 00100000

我的真正意图是收到这样的东西:

[8][4C][40]

二进制:00001 00001 00110 0 0100000 0

0 投票
1 回答
741 浏览

python - 试图将字节数组中的字节分成两个半字节

我得到一个字节数组,我正在尝试测试第一个字节的前 4 位是否等于 4。如果不返回错误代码 2。

我尝试从数组中取出字节并拆分它的十六进制值,但我不太确定如何这样做,因为我是使用字节的新手。

所以这里是我的代码

给我

我需要将 E(转换为 0x45)分成 0x4 和 0x5。

0 投票
1 回答
91 浏览

c - C可以处理子字节指令寻址吗?

例如,如果架构支持半字节长度指令,但数据是字节对齐的,将:

工作?换句话说,编译器可以处理这个吗?

0 投票
0 回答
65 浏览

c# - 签名的半字节有意义吗?

我编写了这个辅助方法来将 a 解压byte到 nibbles 上:

然后很自然地,我想对sbyte(有符号字节)做同样的事情:

但是,sbyte至少可以说有点令人困惑。

问题:

当将sbyte(有符号字节)解包为半字节时,这些半字节是否也应该被签名?

0 投票
3 回答
1630 浏览

assembly - 为什么二进制数几乎总是按 4 位分组?

我正在学习 ARM,所以回到二进制/十六进制算术的基础知识,这让我想到了二进制数通常如何以 4 个一组的形式呈现,例如

1111 1110 1101 1100

这样做有什么特别的原因吗?看到我们通常用位/字节/兆字节等来描述内存,我认为它们最好按 8 分组?

0 投票
2 回答
437 浏览

c - 如何在 C 中一次从二进制文件中读取半个字节?

查看 C 中 fread() 的文档:

宣言

以下是 fread() 函数的声明。

size_t fread(void*ptr, size_t size, size_t nmemb, FILE *stream)

参数

ptr - 这是指向最小大小为 size*nmemb 字节的内存块的指针。

size - 这是要读取的每个元素的字节大小。

nmemb - 这是元素的数量,每个元素的大小为大小字节。

stream - 这是指向指定输入流的 FILE 对象的指针。

有没有办法将大小指定为小于一个字节?还是一种仅将 fptr 向前移动一定位数的方法?

0 投票
3 回答
278 浏览

c# - C#中的自定义4位数据类型

我想创建一个 4 位(半字节)的自定义数据类型。

一种选择是 -

但是,我想将每 4 位存储在一个数组中。

例如,一个 2 字节的数组,

将作为 4 个半字节存储在自定义数据类型数组中 -

本质上我想对 4 位类型进行操作。

有什么办法可以将字节数组转换为半字节数组?

欣赏一个例子。

谢谢。

0 投票
0 回答
29 浏览

javascript - 如何将半字节明智的条目添加到字节数组

我是 Javascript 新手,我需要在字节数组的半字节级别执行操作,不确定,最好的方法是什么。

假设,我有 8 个字节数组和一个字符串为“1111”(字符串始终是数字),现在我需要向字节数组添加条目。

  • 在第一个字节的第一个半字节,它应该是 1
  • 在第一个字节的第二个半字节,它应该是字符串的长度,即 4
  • 在第一个半字节的第二个字节,应插入字符串的第一个数字
  • 在第二个半字节的第二个字节,应插入字符串的第二个数字
  • 第三个也是类似的。

Javascript 代码(仅在字符串值为“1111”时有效,不适用于任何其他数字)

输出:

0 投票
1 回答
97 浏览

language-agnostic - 半字节在编程中的使用

标题说的简单问题。我在 StackOverflow(和互联网)上看到了一些关于 nibbles 用例的问题,但我不明白为什么我们需要使用 nibbles。我的意思是字节是计算中最小的内存单元,因此对其执行操作以操纵其中的一半似乎效率不高。例如,在 GeeksForGeeks 上有一篇关于以字节交换半字节的文章。因此,如果需要 nibble 之类的东西,为什么在任何非古老的编程语言中都没有将它定义为数据类型(如byteint任何其他)?

我知道位、半字节或字节的历史。还阅读了维基百科文章并搜索了很多东西以找到我的问题的答案,但我无法做到。也许这将标记为基于意见和封闭,但我只是想就这个话题进行一些讨论,我不知道其他好地方可以问同样的问题,所以请善待。