java虚拟机浮点值窄化转换为整数类型T(int或long类型之一),遵循的转换规则
浮点值窄化转换为整数类型T(int或long类型之一),遵循的转换规则:1)如果浮点值为NaN(Not a Number的缩写,NaN 表示为指数为 emax + 1 = 128,指数域全为 1,且尾数域不等于零的浮点数。IEEE 标准没有要求具体的尾数域,所以 NaN 实际上不是一个,而是一族),那么转换结果就是int或者long类型的0。2)如果浮点值不是无穷大的话,浮点值使用向零舍入
·
浮点值窄化转换为整数类型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所能表示的最大或者最小正数。
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所能表示的最大或者最小正数。
更多推荐
已为社区贡献18条内容
所有评论(0)