问题标签 [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.
c++ - 分配的值占用的空间超过类型可用空间会发生什么?
例如
调试输出:
我读过它会进行某种截断?我没有确切地看到如何,任何链接都表示赞赏。
c - 如何在 Arduino 上将字符串转换为 uint8_t 数组?
我有一个包含数字和字符值的字符串,例如“p1200”。我需要将此字符串转换为 uint8_t 数组,因为我需要从我的 xBee 发送它。
我怎样才能转换
String dataString = "p1200"
进入
uint8_t dataArray[]
?
我尝试使用以下代码发送此字符串:
并使用以下代码接收字符串:
当我打印时incomingData
,我得到一个奇怪的输出......我认为这是由从字符串到 uint8_t 的转换引起的
c++ - C在方程式内溢出?
a + b
正如我所料,将 255 溢出回 4,然后c / 2
如我所料给出 2。但是,为什么最后一个示例在评估相同的两个步骤时不会溢出?
我猜内部计算值存储了更多位,然后在进行分配时只截断到 8 位。在那种情况下,极限在哪里,它必须在某个时候溢出?
4、2、130
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*
允许您解释更高的正值?
c - 将双精度转换为 uint8_t*
我有一个接受 uint8_t* 的函数,它应该是一个字符串。我想向这个函数发送一个双精度。我在下面尝试过这段代码,但它不起作用。
但是下面的代码有效,我想要的只是用双变量 ABOVE 替换字符串“90”。
所以我的意思是不起作用的是函数 send_data 应该通过蓝牙向安卓手机发送一个字符串。如果我像第一个示例代码那样做,则字符串传递正确。
注意:我认为这可能是因为传递给第二个参数的数据类型不同。该函数需要 3 个参数。
这是函数定义:
python - 如何处理 Python 扩展上的 uint8_t?
我想在我的 C 模块中传递一个 uint8_t 数组作为函数的参数。
我找不到直接解析这个数组的方法,所以我将它解析为 PyObject_t,然后作为 PyTuple_t 对象进行迭代。这样,我需要将这个元组的每个元素 PyObject_t 转换为 uint8_t。
一旦没有 PyInt_FromUINT8_t 函数或类似的函数,我该怎么做?
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 行的混淆表示歉意。
c - 如何在c中的char数组中复制uint8_t数组
我会在 char 数组中复制一个 uint8_t 数组。我尝试了不同的解决方案:cast、memcopy、strcpy ......但它不起作用!!!我的小例子是:
印刷品是:
为什么我在 x 中得到不同的数字?
c - 将 uint8_t 连接到 char*
我对 C 真的很陌生,而且我从各种 uint8_t 创建一个 char* 有点复杂
我的想法是创建一个 char* 在每个位置我放置一个数字形成一个矩阵
例如,如果我有一个矩阵:
id 像 char* 就是这样"01234567890123456"
我在做什么,它不起作用是:
当然它不起作用,但我对如何进行有点迷失,我找不到关于这个问题的更多信息。
你能帮忙的话,我会很高兴,
谢谢
c++ - 将 uint8_t 转换为其二进制表示
我有一个类型的变量uint8_t
,我想对其进行序列化并写入文件(这应该是非常便携的,至少对于 Windows 而言,这是我的目标)。
试图以二进制形式将其写入文件,我遇到了这个工作片段:
首先,让我确定我理解这个片段的作用——它需要我的 var(它基本上是一个无符号字符,1 个字节长),将它转换成一个unsigned int
(4 个字节长,不那么便携),并使用& 0xFF
“提取”仅最低有效字节。
现在,有两件事我不明白:
- 为什么首先将其转换为
unsigned int
,为什么我不能简单地做类似的事情
file.write((wchar_t*)&m_num, 1);
orreinterpret_cast<wchar_t *>(&m_num)
?(参考) - 我将如何序列化更长的类型,比如 a
uint64_t
(8 字节长)?unsigned int
这里可能不够,也可能不够。