问题标签 [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 - 将字符串分配给结构中的 char 值
我正在尝试将字符串分配给结构中的 char 值
我的功能是:
启动这一切的违规代码是:
值是“blah”的地方
这给了我一个警告: return 从没有强制转换的指针中生成整数
现在对于整数它可以工作:
任何帮助将非常感激!
c - 将 uint8_t 十六进制值转换为二进制
所以就像标题中所说的那样,我正在尝试将十六进制转换为二进制。但我一直面临的问题是,给定的值是 uint32_t 类型。到目前为止,我已经从 uint32_t 转换为 uint8_t,这样每个 uint8_t 变量都包含原始十六进制值的 8 位。在下面显示的代码中,我已成功将十六进制转换为二进制。但现在我无法以某种格式打印它。
尽管我认为主要思想是每次迭代时 32 位中的 len 必须转换为二进制并打印,但我无法将这个想法合并到我的代码中。所以我决定转换整个十六进制数字并尝试只打印需要的内容。
c - 通过传递的 uint32_t 数组指针在函数中正确使用 malloc
我在一个函数中使用 malloc 时遇到了困难,在该函数中我读取了一个带有 4 字节无符号整数的二进制文件,释放了传递的数组引用,将其重新分配到新的大小,然后尝试访问数组的成员。我认为问题出在 uint32_t 类型,因为该数组似乎被视为 8 字节整数数组,而不是 4 字节整数数组。不完全确定我哪里出错了,可能是使用 malloc,IE 也许我需要指示它以与我正在做的不同的方式创建 uint32_t 类型,或者可能是其他的东西。代码:
我按要求添加了文件读取代码。尝试以我正在做的方式访问 main() 中的数组 sched 将打印我正在读取的数据,就好像它是 8 字节整数一样。所以我猜 sched 被视为一个 64 位整数数组,而不是我定义的 32 位数组。我想这是因为我释放了它并再次在它上面使用了 malloc。但我相信我指示 malloc 它应该创建的类型是 uint32_t 所以我很困惑为什么数据没有被这样对待。
编辑:找到了一种让它工作的方法,但不确定它是否正确(方法1)。这是将此数组视为 uint32_t 类型的唯一且最干净的方法吗?当然,编译器应该知道我正在处理的类型,而无需我每次使用它时都必须转换它。
编辑:实际上,当我尝试在 main 中访问它时,我遇到了段错误。我在代码中添加了一条注释来反映这一点。我之前没有注意到这一点,因为我在几个地方使用了 for print 循环来跟踪编译器如何查看数据。
编辑:不确定是否有办法添加二进制数据文件。我是在十六进制编辑器中手工制作的,它的确切内容并不那么重要。在 bin 文件中,FF FF FF FF FF FF FF FF 应该被读取为 2 个 uint32_t 类型,而不是 1 个 64 位整数。Fread AFAIK 不关心这一点,它只是填充缓冲区,但如果那是错误的,则需要更正。
TIA,皮特
c - 将字符数组转换为 C 中的十六进制
我最近刚被要求使用 C——我通常使用 Python 和一点 Java——我遇到了一些问题。
我创建了一个函数,它将 base-10 unsigned int 转换为表示等效十六进制的字符数组。现在我需要能够将类型为 uint32_t 的变量设置为此“十六进制”;我能做些什么来确保这个 char[] 被视为实际的十六进制值?
代码如下:
c - 如何在 C 中将逗号分隔的 char* 转换为 uint32_t[] 数组
我想在 C 中将逗号分隔的 char* 转换为 uint32_array[]。有没有简单的方法/例程可以做到这一点?
我已经在 SO 上花了很多时间,并在 C++ 上找到了许多解决方案,但不是这样的 C: Parsing a comma-delimited std::string 但我认为从 char* 转换为字符串到字符串不是一个好的解决方案流到向量并使用向量。
至
我将不胜感激任何帮助。非常感谢。
c++ - 将数据存储在 C++ 的缓冲区中
我在 c++ 上有一个简单的函数,它需要 2 个参数:
当我尝试调用它时,我得到一个错误,因为我传递的参数可能是错误的unsigned long*, unsigned long
:
我不确定为什么这是错误的。有任何想法吗?
c++ - uint32_t 指针在此代码中如何工作?
我真的对uint32_t
指针在 C++ 中的工作方式感到困惑
我只是在尝试学习TEA,我不明白他们何时将uint32_t参数传递给 encrypt 函数,然后在函数中声明了一个uint32_t变量并将参数分配给它,就好像参数是一个数组一样。
像这样:
所以我决定尝试使用 uint32_t 指针,并编写了以下短代码:
当输出是“key”的值时,这让我大吃一惊。我不知道它是如何工作的......然后当我尝试使用plain_text [0]时,它返回了“temp”的值。
所以我被困在地狱里,试图了解正在发生的事情。
回顾 TEA 代码,是uint32_t* v
指向数组而不是单个 unsigned int 吗?我所做的只是侥幸吗?
c - 如何遍历数组以将它们复制到另一个 uint32_t 类型的数组中?
我创建了一个由整数数组结构states[2]组成的 C 程序。我还需要一个名为store的 uint32_t 类型数组。我只想将数组 states[0] 的内容复制到 store[0] 并将 states[1] 的内容复制到 store[1]。我将这种方法用于 char 数组,它似乎有效。我的代码如下所示:
然而,代码没有执行,并说我声明的数组格式无效。我不确定这是否是正确的方法。有人可以帮我解决这个问题。
c - Multi-precision addition implementation
I am trying to implement multi-precision arithmetic for 256-bit operands based on radix-2^32 representation. In order to do that I defined operands as:
and here is my MP addition function:
I implemented it without using loop for simplicity. Now when I test my function inside main
:
I've got:
However, when I verified my result with sage, I've got:
Would you please help me out here?
c - C 中 *((uint32_t*)&..) 的含义
请告诉我为什么使用这个 *(uint32_t )以及在 uint32_t 之前和之后这个“”的目的是什么