gpt4 book ai didi

有效地组合两个 32 位? - C

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:51 25 4
gpt4 key购买 nike

我有一个函数需要一个 8 字节长的无符号字符。

void f1(unsigned char *octets)
{
unsigned char i;
for (i=0;i<8;i++)
printf("(%d)",octets[i]);
}

当我有一个 64 位整数时,这是我使用它的方式:

  unsigned long long ull = 1;
f1((unsigned char *) &ull);

(它使用机器的 native 字节顺序。)

我的问题是,如果我没有 1x64 位整数,而是 2x32 位整数 - 有没有办法有效地将它们组合为这个特定函数的输入?

  unsigned long int low = 1;
unsigned long int high = 0;

最佳答案

union 工作方便吗?如果是这样,这是一个很好的方法...

union {
struct {
unsigned char CharArray[8];
} ub;
struct {
unsigned long int IntArray[2];
} ul;
unsigned long long ull;
} Foo;

关于有效地组合两个 32 位? - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3360969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com