问题标签 [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.

0 投票
2 回答
233 浏览

c - C全局变量值不保留在函数之外

我遇到了一个有点尴尬的问题:我有一个带有两个全局 uint32_t 变量的程序,以及一个我为它们赋值的函数。但是,当我稍后尝试打印/访问这些值时,一个给了我正确的值,而另一个仍然为零!我很困惑。这是代码:

当我运行它时,last_seq 的输出是正确的,但 seq_offset 仍然为零!任何帮助将不胜感激 :)。

问候,

莱纳斯

0 投票
1 回答
3332 浏览

c - 将 (uint32_t) 与硬编码值进行比较是否安全?

我需要对 32 位整数(确实代表 chars,但无论如何)进行逐位运算。

以下类型的代码安全吗?

我的意思是,在“if”语句中,我正在对左侧的 uint32_t 和右侧进行按位运算……我不知道!

那么你知道硬编码的“0x03000000”的类型和大小(我的意思是它存储了多少字节)吗?

是否有可能某些系统将 0x03000000 视为 int 并因此仅在 2 个字节上对其进行编码,这将是灾难性的吗?

0 投票
3 回答
3599 浏览

c++ - 从 uint32_t 读取位

我想使用一个返回 a 的函数,uint32_t它应该包含 8 位信息,采用 little-endian 格式。有人可以给我一些关于如何将这些位从uint32_t类型中提取为字符、布尔值或任何其他不需要使用原力处理的类型的 C++ 代码!因为现在我没有耐心去理解字节序的整个概念。而且我越是浅浅地搜索它似乎就越复杂......

PS。虽然不是我想要的,但如果有人也可以发布一些关于如何编码 8 位(例如 8 个布尔值)的代码uint32_t会很有趣,因为我认为这将有助于我理解这个概念。

0 投票
1 回答
2399 浏览

ios - 如何将 UIColor RGB 颜色转换为 uint32_t 值

如何将 UIColor 对象转换为 uint32_t 值。请让我知道是否有人知道这一点?

这是代码:

如何在 uint32_t 中传递 0xFFFFFFFF 值?

0 投票
2 回答
2347 浏览

c - 将无符号整数值分配给 uint32_t 变量的 PC-Lint 错误

我有以下代码行:

这在使用au-misra2.lnt配置文件时会出现以下 3 个 PC-Lint 错误:

更改为:

导致赋值为 0。

为什么会发生这种情况?它适用于 32 位 Cortex-M3 处理器,因此应该将 unsigned int.. 分配给 unsigned int - 我不明白为什么它是不可接受的。

有没有人有任何想法?

0 投票
1 回答
173 浏览

c - c 将 uint32_t 转换为 int32 保存到文件并读取 uint32_t agein

我制作了一个 C 程序来记录一些数据。
我得到一个 uint32_t 格式的时间戳。
然后我使用 afprintf("%d",timestamp) 保存了数据,这意味着它从无符号整数转换为有符号整数,因此我得到了一些数字。
我的问题是。我如何将它计算回原始的无符号整数。在 ac# 程序中更可取。但任何事情都会做。

0 投票
3 回答
6036 浏览

c++ - 快速将 uint32_t 转换为二进制

我遇到的主要问题是在 C++ 中读取二进制值(python 有一些非常快速/简单的函数可以做到这一点)

我只需要同样的。所以目前我有:

当我使用cout << data1;它时,它给了我一个数字,例如2147581953

我希望它是二进制的,最终每个“位”都需要在自己的 bin 中,包括所有 '0',例如:

会给我这个 32 位长的二进制数。当我将它作为一个直接的 int 时,我使用过:

但这只会给我错误消息。有任何想法吗?

0 投票
4 回答
7075 浏览

c - Reading and changing bits in C uint32_t

I am using this code

to get and print the bits of a uint32_t, and in another function this code

to change the most significant bit (left-most) from 0 to 1.

the problem is when printing bits using the printbits function, it prints them right, but when using printf("%#x", bits); I'm getting the hex value of the bits as if they are read from right to left!

so the printbits gives me '10000000000000000000000000000000' but the hex value printed is the value of '00000000000000000000000000000001'.

Help appreciated

0 投票
2 回答
1815 浏览

c - uint32_t -1 的位符号,而不是 C 中的 1

我已经做好了

然后使用

在位上我得到 10000000000000000000000000000000,这是我想要的,但是当我使用我的 getbit(bits, 0)

我得到一个 -1 而不是 1,知道为什么吗?

谢谢!

0 投票
3 回答
521 浏览

c - C改变一点uint32_t不起作用

我有

这给了我 100000000000000001110000000000000

在我做的另一个函数中,*(bits) |= 0 << 15;但它什么也没做,它应该将第 16 个 1 更改为 0,因此应该出现以下内容:10000000000000000110000000000000

有什么帮助吗?