gpt4 book ai didi

c++ - 将代码声明转化为文字(引用运算符和取消引用运算符混淆)

转载 作者:行者123 更新时间:2023-11-30 17:29:58 26 4
gpt4 key购买 nike

嗨,我是 c 和 c++ 的初学者,对这些代码行完全困惑,我不需要知道结果,只是想正确理解第二行,以下是代码

float f = 7.0;
short s = * (short * )&f;

最佳答案

据我所知,您将 float 的前 16 位重新解释为短整型。

会发生什么:首先获得 float 的地址,然后将该指针转换为 short* 指针,这样做后,您将在 a 处获取 16 位。时间而不是 32。最后查询指针的值。

由于 7.0 表示为 ( http://www.h-schmidt.net/FloatConverter/IEEE754.html ):

00000000 00000000 01110000 01000000

结果为 0,如果您进行第二次短路,则结果为 16 496

例如,如果您要使用:

float f = 7.0068;

那么结果将是:14 261

关于c++ - 将代码声明转化为文字(引用运算符和取消引用运算符混淆),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25417050/

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