gpt4 book ai didi

c - long int 高低位指针

转载 作者:太空宇宙 更新时间:2023-11-04 02:32:53 24 4
gpt4 key购买 nike

我正在尝试在 C 中实现改进的顺序乘法算法,其中乘积寄存器的大小是被乘数和乘数的两倍。在 C 中,一个 int 是 4 个字节,一个 long int 是 8 个字节。我想独立访问高 32 位和低 32 位。所以我指出了低位和高位:

long long int product = 0;
int* high = &product;
int* low = &product;
low++;

但这没有用,因为我认为如果一个 int 分配了 4 个字节,那么一个 long int 将分配 8 个字节,并且指针将指向分配内存的 MSB。我不确定这是否真的是分配的方式。谁能帮我解决这个困惑。

我通过这样做解决了问题:

long long int product=0;
int* low = &product;
int* high = &product;
high++;

但我仍然很困惑为什么它能正常工作;

最佳答案

您可能使用的计算机是 Little-Endian .在小端机器上,最低有效字节在前。

关于c - long int 高低位指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40981456/

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