我是第一名 发表于 2021-10-21 21:30:43

小白之浮点型储存问题

比如:
float p=9.0f;
printf("%d",p);

///////////////////////

float p = 9.0f;
int * p1= (int *)p;
printf("%d",*p1);


请问大佬能否帮我解释清楚两者的区别?

wp231957 发表于 2021-10-22 07:16:25

用%d去输出浮点型数据,这根本就不被允许
产生后果也许会截断,也许是其他数据,自己试一下不就知道了
至于后面的也没看明白你想干嘛,直接强转不就完了,咋还把指针整出来了???

我是第一名 发表于 2021-10-22 12:44:54

wp231957 发表于 2021-10-22 07:16
用%d去输出浮点型数据,这根本就不被允许
产生后果也许会截断,也许是其他数据,自己试一下不就知道了
至 ...

整型和浮点型在内存中存储方式不一样,按照不同方式拿出来的结果也是不一样的。

人造人 发表于 2021-10-22 13:45:50

我是第一名 发表于 2021-10-22 12:44
整型和浮点型在内存中存储方式不一样,按照不同方式拿出来的结果也是不一样的。

你说得对
页: [1]
查看完整版本: 小白之浮点型储存问题