我不明白他们在这个任务中想从我这里得到什么?任务本身:
编写并实际测试一个函数,该函数是四字节数据的 32 位无符号整数值uint32_t
。在这种情况下,该值必须被视为类型为 4 个元素的简单数组unsigned char
。
其中:
- 使用指针;
- 应用数据类型转换操作;
- 必须从函数返回填充的 32 位值。
我如何看待这个问题的解决方案:
#include <iostream>
using namespace std;
uint32_t to_uint32_t(unsigned char _1, unsigned char _2, unsigned char _3, unsigned char _4)
{
uint32_t result;
unsigned char value [] { _1, _2, _3, _4 };
result = 0xff & (static_cast<uint32_t>(_1));
result << 8;
result |= 0xff & (static_cast<uint32_t>(_2));
result << 16;
result |= 0xff & (static_cast<uint32_t>(_3));
result << 24;
result |= 0xff & (static_cast<uint32_t>(_4));
return result;
}
int main(int args_count, char** args)
{
cout << to_uint32_t('9', '2', '3','4');
return 0;
}
好吧,这可能更容易:
那些。调用函数时直接将字节转换为数字。
只有你肯定是指角色转移?那些。第一个字节正好是 0x39,等等?不是9?
哦是的,必须使用转换......好吧,那么
但是在哪里坚持指针?...除非是这样(哦,严格混叠的爱好者现在将如何击败我......) -
我将创建数字中的字节顺序问题保留为开放...
据我了解,他们正是想从你这里得到这个
流式传输并运行:
解决方案之一