将代码声明转换为文字(引用运算符和取消引用运算符混淆) 我是C和C++的初学者,完全被这些代码混淆了,我不需要知道结果,只想正确地理解第二行,下面是代码< /P> float f = 7.0; short s = * (short * )&f;

将代码声明转换为文字(引用运算符和取消引用运算符混淆) 我是C和C++的初学者,完全被这些代码混淆了,我不需要知道结果,只想正确地理解第二行,下面是代码< /P> float f = 7.0; short s = * (short * )&f;,c++,c,pointers,reference,dereference,C++,C,Pointers,Reference,Dereference,据我所知,您将浮点的前16位重新解释为短 发生的情况:首先获取浮点的地址,然后将该指针转换为short*指针,这样就可以一次获取16位,而不是32。最后,查询指针中的值 由于7.0表示为(): 结果是0如果您进行了第二次做空,结果将是16496 例如,如果您要使用: float f = 7.0068; 那么结果将是:14261 float f = 7.0068;

据我所知,您将浮点的前16位重新解释为短

发生的情况:首先获取浮点的地址,然后将该指针转换为
short*
指针,这样就可以一次获取
16
位,而不是
32
。最后,查询指针中的值

由于
7.0
表示为():

结果是
0
如果您进行了第二次做空,结果将是
16496

例如,如果您要使用:

float f = 7.0068;
那么结果将是:
14261

float f = 7.0068;