编码1-4字节十六进制幂指数数据(即IBM单精度浮点数) 位 字节1 字节2 字节3 字节4 0 S Q-1 Q-9 Q-17 1 C6 Q-2 Q-10 Q-18 2 C5 Q-3 Q-11 Q-19 3 C4 Q-4 Q-12 Q-20 4 C3 Q-5 Q-13 Q-21 5 C2 Q-6 Q-14 Q-22 6 C1 Q-7 Q-15 Q-23 7 C0 Q-8 Q-16 0 S=符号位。(1=负数)
C=超过64十六进制指数幂。这是16的二进制指数幂。指数幂偏离了64,例如表示为16(CCCCCCC-64),其中CCCCCCC可以假设为0-127之间的值。
Q1-23=幅值分数。这是一个23位正二进制分数(即数字系统是符号和幅值)。小数点在定义为2-1的最高位(MSB)(Q-1)左边。符号和分数可以假设为(1-2-23到-1+2-23)之间的值。它总必须写成十六进制左端对齐的数。如果这个分数为0,符号和指数也必须是0(即所有文字为0)。注意为了保证开始扫描的唯一性,字节4的7位必须是0。
值=S.QQQQ,QQQQ,QQQQ,QQQQ,QQQQ,QQQ×16(CCCCCCC-64) 编码2-4字节,两互补整数 位 字节1 字节2 字节3 字节4 0 S I23 I15 I7 1 I30 I22 I14 I6 2 I29 I21 I13 I5 3 I28 I20 I12 I4 4 I27 I19 I11 I3 5 I26 I18 I10 I2 6 I25 I17 I9 I1 7 I24 I16 I8 I0 值=S(I30*230+ I29*229+…+ I1*21+ I0*20) 编码3-2字节,两互补整数 位 字节3 字节4 0 S I7 1 I14 I6 2 I13 I5 3 I12 I4 4 I11 I3 5 I10 I2 6 I9 I1 7 I8 I0 值=S(I14*214+ I13*213+…+ I1*21+ I0*20) 编码4-32位带增益定点数(过时,不再使用) 位 字节1 字节2 字节3 字节4 0 0 G7 S I7 1 0 G6 I14 I6 2 0 G5 I13 I5 3 0 G4 I12 I4 4 0 G3 I11 I3 5 0 G2 I10 I2 6 0 G1 I9 I1 7 0 G0 I8 I0 值=S(I14*214+ I13*213+…+ I1*21+ I0*20)*2GGGGGGGG 编码5-4字节,IEEE浮点数
IEEE格式在可从IEEE获得的IEEE标准“ANSI/IEEE Std 754-I985”中全文叙述。IEEE格式概述如下: 位 字节1 字节2 字节3 字节4 0 S C0 Q-8 Q-16 1 C7 Q-1 Q-9 Q-17 2 C6 Q-2 Q-10 Q-18 3 C5 Q-3 Q-11 Q-19 4 C4 Q-4 Q-12 Q-20 5 C3 Q-5 Q-13 Q-21 6 C2 Q-6 Q-14 Q-22 7 C1 Q-7 Q-15 Q-23(注释1) 一个表示为这种格式的浮点数的值(v)以如下决定: 如e=255&f=0..v=NaN 不是数字(见注释2) 如e=255&f=0..v=(-1)5* ∞ 溢出 如0 5*2e-127*(1.f) 正则化
如e=0&f10…v=(-1) 5*2e-126*(0.f) 反正则化 如e=0&f=0…v=(-1) 5*0 ±0
在此e=所有C(指数)的二进制值,f=所有Q(分数)的二进制值 注释:
1. 字节4的第7位必须为零,以保证复合格式(0058)中的扫描开始的唯一性。在非复合格式(8058)中它可能为非零。
2.不是数字理解为无效数。所有其他数均为有效并如上述所解释。 编码8-1字节,两互补整数 位 字节4 0 S 1 I6 2 I5 3 I4 4 I3 5 I2 6 I1 7 I0 值=S(I6*26+ I5*25+…+ I1*21+ I0*20) 附录 F. EBCDIC和ASCII码
表13 IBM 3270字符集,参考GA27-2837-9,第10章,1987年4月