C++float转换为int的截断原理

我们知道,将int型的128转换为short型会变成-127,这是因为它的截断原理如下:

int型128在内存中表示为00000000 00000000 00000000 10000000

直接截取后8位得 10000000

这刚好是-127的表示方式。

那么问题来了,对于float型的3.14,在内存中的表示方式为 0 10000000 10010001111010111000011

它转换为int后数值为3,那它是怎样一个截duan过程呢?

为什么认为float转换为int是用的截断原理呢?从长度上来说,float和int是一样长的,那为什么要截断?

C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html