问题标签 [uint32-t]
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++ - 在结构或联合上使用 ntohl
ntohl
需要一个uint32_t
. 我有许多不同成员(类型为uint32_t
or uint16_t
)的消息。是否可以正确传递整个收到的struct
orunion
并将其转换为 sayuint32_t
然后reinterpret_cast
转换为 my union
or struct
?
我的做法是逐行列出union
or的每个单独成员,struct
然后像这样将其传递给 ntohl/s,msg.member = ntohl(msg.member);
但这很麻烦!
数据结构从 C# .NET 应用程序 (Windows) 整体传输到 Linux 应用程序。
当我尝试时,
编译器抱怨说:
错误:从 'void*' 转换为 'uint32_t' 失去精度
crypto++ - Crypto++ 将 Adler32 摘要(字节数组)转换为 uint32_t
我有以下问题:我正在尝试使用 计算数据块的 adler32 校验和Crypto++
,但在将 byte[4] 数组输出转换为 uint32_t 后得到错误的校验和。
这个带有 crc32 的函数可以正常工作:
但计算 adler32 的函数返回无效值:
希望有人能给我一个提示。
问候费边
c - 将 uint32_t 转换为网络字节顺序
我正在为我的学习做一些事情,所以是的,这是家庭作业。
首先:我有一个工作的 Java 服务器应用程序,我也有这个我正在用 c 编写的客户端应用程序现在在 java 中工作。很简单,我无法将 uint32_t 发送到我的 java 服务器。
所以让我们展示一些代码:
很简单,我用 func = 'v', str = "hallo" 和 anz = 2 调用这个函数,这将给我一个 27 字节的 packageLength。
包是这样构建的:
= packageLength (int),它是 4 字节
+ 函数描述符的长度 (funcLength),它是 4 字节
+ func 描述符 (func),它是 funcLength
+ param1 的长度 (strLength),它是 4 字节
+ 长度param1 (str) 的值是 strLength
+ param2 的长度是 4 字节
+ param2 (anz) 的值是 4 字节
+ NULL 字节 (\0) 是 1 字节
我假设我所做的转换是错误的,也许我使用了错误的数据类型。在服务器端,我使用 Java ByteBuffer 来收集数据。首先,我从网络中读取了 4 字节的包长度,这将告诉我在获得整个数据包之前我必须阅读多长时间:
最后一个 println 会给我以下输出:
包装长度875901497
那么有人现在我的问题出在哪里吗?如有必要,我可以为您提供更多代码,但我认为错误是数据类型(uint32_t)或转换。
帮助被appriciated。提前致谢。
干杯丹尼尔
c - 使用 qsort 对无符号整数进行排序
我正在处理的程序获取一个文件并逐行解析它,然后将每一行更改为 uint32_t 并将其添加到数组中。从那里我应该使用 qsort() 对数组进行排序。我按照我的想法编写程序,但是当我测试代码时,它说所有新的 uint32_ts 都是相同的值。这是因为我将字符串更改为 uint32_t 时出错吗?使用strtoul会更好吗?最后一个问题,我的 qsort 的实现是否正确?(它编译并说它已经对事物进行了排序,但我不确定,因为我转换为 uint_32 显然不正确。无论如何这里是代码:
c - 使用 uint32_t 时溢出
输出为:“端口:-120”。似乎有一些溢出。但是 uint32_t 对于 5000 应该足够大。当使用 22 而不是 5000 时,一切正常。
为什么?
c++ - 'uint32_t' 没有命名类型
我正在尝试编译 2007 年编写的 C++ 软件包,但出现此错误:
error: ‘uint32_t’ does not name a type
这发生在使用 g++ 4.5.2 的 64 位 Ubuntu 中。它使用 g++ 4.1.2 在 64 位 CentOS 上编译良好。
#include
我缺少一个或一个编译器标志吗?或者,我应该使用typedef
分配uint32_t
给 asize_t
还是 a unsigned int
?
c - 从 uint32/16_t 创建一个字符串,然后解析回原始数字
我需要将一些 uint32_t 和 uint16_t 数字放入 char* 中。然后我需要将它们从缓冲区中取回。
我已经阅读了一些问题,并尝试使用 sprintf 将它们放入 char* 和 sscanf 再次获取原始数字。但是,我无法正确获取它们。
这是我的代码示例,只有 2 个数字。但我需要超过 2 个,这就是我使用 realloc 的原因。另外,我不知道如何正确使用 sprintf 和 sscanf 与 uint16_t
我得到的是
我需要得到的是
我是 C 的新手,所以任何帮助将不胜感激。
c - C 类型声明 intN_t
标头 stdint.h 如何在每台机器上将 u32 定义为 32 位?有人可以详细说明 stdint.h 为实现这一目标所做的过程吗?在哪里可以找到我的机器 (Windows 7) 的 stdint.h 文件?
arduino - Arduino 在 uint32_t 和无符号字符之间转换
我正在使用 Rainbowduino,它有一些方法将单个 rgb 值作为无符号字符,还有一些采用 24 位 rgb 颜色代码。
我想将 rgb 值转换为 uint32_t 类型的 24 位颜色代码(这样我的所有代码都只需要使用 rgb 值。
有任何想法吗?
我已经尝试过 uint32_t result = r << 16 + g << 8 + b; r = 100 g =200 b=0 给出绿色,但 r=0 g=200 b=0 没有给出任何结果