gpt4 book ai didi

c - 类型转换类型是否取决于大/小端?

转载 作者:太空狗 更新时间:2023-10-29 16:51:08 26 4
gpt4 key购买 nike

考虑这段代码:

int a=0x10000001;
char b;

b=(char)a;
printf("%#x \n",b);

在我的 PC 上它打印 0x01,我并不感到惊讶。它在 BIG ENDIAN 机器上如何工作?我希望它会打印 0x10000001。我对吗?

我浏览了书籍和网络,但没有找到关于转换操作如何真正处理内存的明确信息。

最佳答案

不,像所讨论的那样进行转换确实会尽可能保留值(value),并且不依赖于内存表示。

如果你想重新解释你需要转换指针的内存表示。然后它将取决于字节顺序:

b=*((char*)&a);

关于c - 类型转换类型是否取决于大/小端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20240402/

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