浮点值窄化转换为整数类型T(int或long类型之一),遵循的转换规则:
1)如果浮点值为NaN(Not a Number的缩写,NaN 表示为指数为 emax + 1 = 128,指数域全为 1,且尾数域不等于零的浮点数。IEEE 标准没有要求具体的尾数域,所以 NaN 实际上不是一个,而是一族),那么转换结果就是int或者long类型的0。
2)如果浮点值不是无穷大的话,浮点值使用向零舍入模式取证,获得整数值v,如果v在目标类型T(int或者long)的表示范围内,那么转换结果就是v。
3)否则,将根据v的符号,转换为T所能表示的最大或者最小正数。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐