怎么把float型转换成int
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把float型转换成int相关的知识,希望对你有一定的参考价值。
参考技术A 1、规格化值。当指数域的8个二进制数字既非全零又非全1时,float数值就是这种情况。设指数域的八位二进制所表示的十进制数为e,则公式1中的E就是
E
=
e
-
(2^7
-
1)
而且此时,将小数域所表示的二进制假设为(f22)(f21)...(f1)(f0)
(注2)
,则该小数域所表示的值即为f
=
0.(f22)(f21)...(f1)(f0).于是M
=
1
+
f
2.
非规格化值。当指数域的8个二进制数字为全0时,float数值就为这种情况。
这时指数域所表示的十进制数为0,规定指数值为
E
=
1
-
(2^7
-
1),也就是E为定值-126;此时小数域的值仍表示f
=
0.(f22)(f21)...(f1)(f0),但是M的值却变成M
=
f。
3.
特殊值。当指数域的8个二进制数字为全1时即为这种情况。
当小数域为全零时,该float值根据符号位的不同表示正无穷或者负无穷;
当小数域为非全零时,该float值为NaN(Not
a
Number)。 参考技术B 1、规格化值。当指数域的8个二进制数字既非全零又非全1时,float数值就是这种情况。设指数域的八位二进制所表示的十进制数为e, 则公式1中的E就是 E = e - (2^7 - 1)
而且此时,将小数域所表示的二进制假设为(f22)(f21)...(f1)(f0) (注2) ,则该小数域所表示的值即为f = 0.(f22)(f21)...(f1)(f0).于是M = 1 + f
2. 非规格化值。当指数域的8个二进制数字为全0时,float数值就为这种情况。
这时指数域所表示的十进制数为0,规定指数值为 E = 1 - (2^7 - 1),也就是E为定值-126;此时小数域的值仍表示f = 0.(f22)(f21)...(f1)(f0),但是M的值却变成M = f。
3. 特殊值。当指数域的8个二进制数字为全1时即为这种情况。
当小数域为全零时,该float值根据符号位的不同表示正无穷或者负无穷;
当小数域为非全零时,该float值为NaN(Not a Number)。
以上是关于怎么把float型转换成int的主要内容,如果未能解决你的问题,请参考以下文章