【发布时间】:2021-04-26 15:31:55
【问题描述】:
我正在学习 C 中的数据类型。
我们的课程资料详情如下
当我们分配不同数据类型的不同变量时,有一个 价值损失的可能性。
float f = 100.6537;
int i = f;
执行上述代码后,i = 100。如果我错了,请纠正我,将浮点数分配给 int 只是小数部分,而仅将整数值分配给小数点左侧?这里的价值损失是删除小数点后的数字?
但当我这样做时,
int i = 100;
float f = i;
我认为这里没有价值损失?
【问题讨论】:
-
是的,在这种特殊情况下。
-
是的,你的想法在这两种情况下都是正确的。请注意,如果浮点类型无法处理整数类型的精度,那么从整数转换为浮点数也会有损失。例如,32but 浮点数通常具有大约 7 位精度,因此将 123456789 写入 1 会失去精度。
标签: c