问题标签 [uint8t]

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 投票
3 回答
65 浏览

c++ - 分配的值占用的空间超过类型可用空间会发生什么?

例如

调试输出:

我读过它会进行某种截断?我没有确切地看到如何,任何链接都表示赞赏。

0 投票
2 回答
14656 浏览

c - 如何在 Arduino 上将字符串转换为 uint8_t 数组?

我有一个包含数字和字符值的字符串,例如“p1200”。我需要将此字符串转换为 uint8_t 数组,因为我需要从我的 xBee 发送它。

我怎样才能转换

String dataString = "p1200"

进入

uint8_t dataArray[]

?

我尝试使用以下代码发送此字符串:

并使用以下代码接收字符串:

当我打印时incomingData,我得到一个奇怪的输出......我认为这是由从字符串到 uint8_t 的转换引起的

0 投票
4 回答
130 浏览

c++ - C在方程式内溢出?

a + b正如我所料,将 255 溢出回 4,然后c / 2如我所料给出 2。但是,为什么最后一个示例在评估相同的两个步骤时不会溢出?

我猜内部计算值存储了更多位,然后在进行分配时只截断到 8 位。在那种情况下,极限在哪里,它必须在某个时候溢出?

4、2、130

0 投票
1 回答
200 浏览

c - 为什么处理字节的 Windows API 调用(例如“recv”)使用默认签名的 char*?

我对 c/c++ 还很陌生,我正在尝试遵循一些指导方针,这些指导方针建议尽可能使用 stdint.h 定义的类型(uint8_t等而不是unsigned char)。

但是,当您调用需要char*缓冲区的 API 时(例如recv)的 API 时,您似乎必须使用 API 规定的任何类型。

我不明白为什么,如果你正在读取字节,你不希望它是无符号的,所以你得到的值在 0 到 255 之间而不是 -128 和 127 之间。

我不知道这是否是特定于实现的,但我只见过char默认签名。

您是否希望将此类调用的结果转换为unsigned char*uint8_t*允许您解释更高的正值?

0 投票
2 回答
4398 浏览

c - 将双精度转换为 uint8_t*

我有一个接受 uint8_t* 的函数,它应该是一个字符串。我想向这个函数发送一个双精度。我在下面尝试过这段代码,但它不起作用。

但是下面的代码有效,我想要的只是用双变量 ABOVE 替换字符串“90”。

所以我的意思是不起作用的是函数 send_data 应该通过蓝牙向安卓手机发送一个字符串。如果我像第一个示例代码那样做,则字符串传递正确。

注意:我认为这可能是因为传递给第二个参数的数据类型不同。该函数需要 3 个参数。

这是函数定义:

0 投票
1 回答
1551 浏览

python - 如何处理 Python 扩展上的 uint8_t?

我想在我的 C 模块中传递一个 uint8_t 数组作为函数的参数。

我找不到直接解析这个数组的方法,所以我将它解析为 PyObject_t,然后作为 PyTuple_t 对象进行迭代。这样,我需要将这个元组的每个元素 PyObject_t 转换为 uint8_t。

一旦没有 PyInt_FromUINT8_t 函数或类似的函数,我该怎么做?

0 投票
3 回答
8356 浏览

c++ - 从 uint8_t* 到 uint8_t fpermissive c++ 的无效转换

我意识到这个问题已经被问过很多次了,但是在阅读了很多类似的问题之后,我仍然无法理解和解决这个问题。我是一名新手编码员,仍在学习,很多天我都无法解决这个问题。

我正在使用来自 arduino 的演示代码库并尝试在 c++ Atmel Studio 7 中编译它(为我基于 ATSAMD21 制作的定制板编译)。这是我的相关代码(删除了所有不相关的部分):

上面的代码在第 195 Col 54 行的 i2cWrite 函数中给出了错误:

从 'uint8_t* {aka unsigned char*}' 到 'uint8_t {aka unsigned char}' 的无效转换 -fpermissive

请注意,我首先修改了上面的代码,并在第 43、46、55、83 行向 i2cWrite/i2cRead 数组添加了一个 *asterisk。如果我不添加这些,那么所有这些行上也会出现相同的错误。由于原始代码没有那些 *references 也许我不应该添加那些指针......?

我正在尝试学习指针和引用,但很挣扎。对于我的一生,我无法理解如何解决这个错误。我尝试了各种 & 和 * 但对于我的生活无法理解和纠正这个问题。我似乎无法理解我的代码如何/在何处尝试将 uint8_t* 分配给 uint8_t。

根据其他主题,我是否需要对这些变量中的任何一个进行强制转换或使用 volatile 或 const?我不这么认为,但我还是个初学者。

我将非常感谢任何人指出我正确的方向或帮助我理解解决方案。在 Arduino 中我可以编译和运行这段代码,但在 Atmel Studio 中不行。任何帮助深表感谢。

编辑:我已经更新了代码并删除了评论,以便错误和行号与我的帖子相匹配。对 #s 行的混淆表示歉意。

0 投票
2 回答
4839 浏览

c - 如何在c中的char数组中复制uint8_t数组

我会在 char 数组中复制一个 uint8_t 数组。我尝试了不同的解决方案:cast、memcopy、strcpy ......但它不起作用!!!我的小例子是:

印刷品是:

为什么我在 x 中得到不同的数字?

0 投票
1 回答
870 浏览

c - 将 uint8_t 连接到 char*

我对 C 真的很陌生,而且我从各种 uint8_t 创建一个 char* 有点复杂

我的想法是创建一个 char* 在每个位置我放置一个数字形成一个矩阵

例如,如果我有一个矩阵:

id 像 char* 就是这样"01234567890123456"

我在做什么,它不起作用是:

当然它不起作用,但我对如何进行有点迷失,我找不到关于这个问题的更多信息。

你能帮忙的话,我会很高兴,

谢谢

0 投票
2 回答
2737 浏览

c++ - 将 uint8_t 转换为其二进制表示

我有一个类型的变量uint8_t,我想对其进行序列化并写入文件(这应该是非常便携的,至少对于 Windows 而言,这是我的目标)。

试图以二进制形式将其写入文件,我遇到了这个工作片段:

首先,让我确定我理解这个片段的作用——它需要我的 var(它基本上是一个无符号字符,1 个字节长),将它转换成一个unsigned int(4 个字节长,不那么便携),并使用& 0xFF “提取”仅最低有效字节。

现在,有两件事我不明白:

  1. 为什么首先将其转换为unsigned int,为什么我不能简单地做类似的事情
    file.write((wchar_t*)&m_num, 1);or reinterpret_cast<wchar_t *>(&m_num)?(参考
  2. 我将如何序列化更长的类型,比如 a uint64_t(8 字节长)?unsigned int这里可能不够,也可能不够。