gpt4 book ai didi

c - 在 C 中以 64 位整数存储值

转载 作者:太空宇宙 更新时间:2023-11-04 08:11:52 26 4
gpt4 key购买 nike

<分区>

我有一个程序

#include <stdint.h>
#include <stdio.h>

int main(void)
{

int i;
int x = 128;
int y = 128;
int z = 2;
int32_t coordinates = x | (y << 12) | (z << 16);

fprintf(stdout, "x = %d\n", (coordinates & 0xFF));
fprintf(stdout, "y = %d\n", ((coordinates >> 8) & 0xFF));
fprintf(stdout, "z = %d\n", ((coordinates >> 16) & 0xFF));
}

存储 x,y,z在 32 位寄存器中,但仅对 { (x,y,z)< 256} 成功.如果我希望 x,y,z 成为可能获取 2^10 (1024) 的值(所以 (x,y,z)<1024 )这怎么会发生?我知道我应该使用 64 位寄存器(?),但我仍然坚持这一点,因为轮类正在发生一些事情。

有什么想法吗?

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