将数组转换为字符串Nesc,c,nesc,C,Nesc,我想将uint8\u t数组转换为NesC中的uint32\u t
有人知道我怎么做吗?如果您想将源代码中的单个uint8\t转换为目标代码中的单个uint32\t,实际上非常简单。只需创建目标数组,并在循环中复制值:
uint8_t *source;
size_t source_count; /* Number of entries in the source */
uint32_t *dest = malloc(sizeof(*dest) * source_count);
for (
我想将
uint8\u t
数组转换为NesC中的
uint32\u t
有人知道我怎么做吗?如果您想将源代码中的单个
uint8\t
转换为目标代码中的单个
uint32\t
,实际上非常简单。只需创建目标数组,并在循环中复制值:
uint8_t *source;
size_t source_count; /* Number of entries in the source */
uint32_t *dest = malloc(sizeof(*dest) * source_count);
for (int i = 0; i < source_count; i++)
dest[i] = source[i];
uint32_t bytes_to_word(const uint8_t *bytes)
{
size_t i;
uint32_t out = 0;
for(i = 0; i < 4; ++i)
{
out <<= 8;
out |= bytes[i];
}
return out;
}
const uint8_t a = 1, b = 2, c = 3, d = 4;
const uint32_t big = (a << 24) | (b << 16) | (c << 8) | d;
换句话说,
a
被认为是最高有效字节,
d
被认为是最低有效字节
如果您有一个数组,当然可以在循环中执行此操作:
uint8_t *source;
size_t source_count; /* Number of entries in the source */
uint32_t *dest = malloc(sizeof(*dest) * source_count);
for (int i = 0; i < source_count; i++)
dest[i] = source[i];
uint32_t bytes_to_word(const uint8_t *bytes)
{
size_t i;
uint32_t out = 0;
for(i = 0; i < 4; ++i)
{
out <<= 8;
out |= bytes[i];
}
return out;
}