我如何赋值给uint32_t键[4]
How do I assign value to uint32_t key[4]
如何为uint32_t key[4]
赋值
一开始是uint32_t iv[2] = {0xFFFFFFDD};
然后在我的第二次运行…我需要赋一个新值…假设新值为
10273348653513887325 (decimal) but recorded as string for now.
string value = "10273348653513887325";
但是我想将iv
的值从0xFFFFFFDD
(十六进制)更改为10273348653513887325
(十进制)
我该怎么做?
你没有。10273348653513887325作为小数不适合uint32_t类型。你可以假装iv是一个64位的值:
uint64_t* piv = (uint64_t*)&iv[0];
*piv = decValue; // where dec value is the decimal conversion of the string
,但是在你这样做之后,你真正得到的是两个32位的值,每个值都有你想要存储的值的一部分。因为这还不够尴尬,所以您正在使用的架构的端序性开始发挥作用。所以不要那样做。
另一种选择是使用2个32位值和一个64位值的匿名联合。
值得指出的是,赋值uint32_t iv[2] = {0xFFFFFFDD };
导致iv中的第一个元素具有该值,第二个元素包含0。你是这个意思吗?
正如@hvd所指出的那样,你对自己想要达到的目标缺乏明确的认识。
相关文章:
- 为"adjacent"变量赋值时出现问题
- C++中的赋值发生,尽管右侧出现异常
- 用C++中的sscanf赋值
- 为std::string的某个索引赋值
- 重载Singly Linked List中的赋值运算符
- 为什么我必须在C++中添加一个赋值符号来声明一个数组
- gtest_使用setargpointee在函数中赋值
- 非常量变量只读位置的赋值
- 使用赋值运算符重载从类中返回jobject
- C++数据文件、数组和计算赋值
- 为什么在使用转换构造函数赋值后调用C++类的析构函数?
- 全局作用域中函数指针的赋值
- 错误:在为指针赋值时,void值没有被忽略
- 标准库类型的赋值运算符的引用限定符
- 关于 c++ 函数中指针赋值的简单问题
- 复制构造函数、赋值运算符C++
- 标准::变体的赋值运算符
- cin >> int 给定一个字符串将 int 赋值为 0
- if 子句中的赋值不起作用
- 此变量赋值有何不同?