转换和精度
在某些数字转换中,可能会丢失精度; 其他转换会保留精度或导致四舍五入。
由于定点和外部浮点项都具有十进制特征,因此以下示例中对定点项的引用包括外部浮点项,除非另有说明。
当编译器从定点转换为内部浮点格式时,基本 10 中的定点数字将转换为内部使用的编号系统。
当编译器将短格式转换为长格式进行比较时,将使用零来填充较短的数字。
失去精度的转换
当 USAGE COMP-2 数据项移至具有超过 18 个数字的定点数据项时,该定点数据项将仅接收 18 个有效数字,其余数字将为零。
当 USAGE COMP-1 数据项移至具有 6 位以上数字的定点数据项时,该定点数据项将仅接收 6 位有效数字,其余数字将为零。
保留精度的转换
如果将具有 6 个或更少数字的定点数据项移动到 USAGE COMP-1 数据项,然后返回到定点数据项,那么将恢复原始值。
如果将 USAGE COMP-1 数据项移至六个或多个数字的定点数据项,然后返回到 USAGE COMP-1 数据项,那么将恢复原始值。
如果将具有 15 个或更少数字的定点数据项移动到 USAGE COMP-2 数据项,然后返回到定点数据项,那么将恢复原始值。
如果将 USAGE COMP-2 数据项移至 18 位或更多位的定点 (非外部浮点) 数据项,然后返回到 USAGE COMP-2 数据项,那么将恢复原始值。
导致四舍五入的转换
如果将 USAGE COMP-1 数据项, USAGE COMP-2 数据项,外部浮点数据项或浮点文字移至定点数据项,那么将在目标数据项的低阶位置进行舍入。 将小数值 .5 及以上向上舍入; 将小于 .5 的小数值向下舍入。
如果将 USAGE COMP-2 数据项移至 USAGE
COMP-1 数据项,那么将在目标数据项的低阶位置进行舍入。
如果将定点数据项移动到外部浮点数据项,并且定点数据项的 PICTURE 包含比外部浮点数据项的 PICTURE 更多的数字位置,那么将在目标数据项的低阶位置进行舍入。