Internal representation of the NUMBER datatype
非null数字的实际数据字节是以科学技术法表示的,以+0.123 * 102格式。第一个字节的最高位代表符号,符号位为正数设置,第一个字节的余下部分代表指数,接下来可以有最多20个字节用于存储有意义的数字(尾数)。
尾数的每个字节通常代表两个数字。
熟悉number内部表示最好的方法使用dump测试各种不同的数字,查看内部表示。
如:
SQL> select 111,dump(111) from dual;
111 DUMP(111)
---------- ---------------------
111 Typ=2 Len=3: 194,2,12
111存储格式如下:
规范化数字: +0.0111 * 10^4
符号位: 1
第一个字节: 194
尾数数字: 01,11
尾数字节: 2,12
SQL> select 1111,dump(1111) from dual;
1111 DUMP(1111)
---------- ----------------------
1111 Typ=2 Len=3: 194,12,12
1111存储格式如下:
Normalized number: +0.1111 * 10^4
符号位: 1
第一个字节: 194
尾数数字: 11,11
尾数字节: 12,12
SQL> select -111,dump(-111) from dual;
-111 DUMP(-111)
---------- --------------------------
-111 Typ=2 Len=4: 61,100,90,102
-111存储格式如下:
规范化数字: -0.0111 * 10^4
符号位: 0
第一个字节: 61
尾数数字: 01,11
尾数字节: 100,90,102
SQL> select -1111,dump(-1111) from dual;
-1111 DUMP(-1111)
---------- -------------------------
-1111 Typ=2 Len=4: 61,90,90,102
-1111存储格式如下:
规范化数字: -0.1111 * 10^4
符号位: 0
第一个字节: 61
尾数数字: 11,11
尾数字节: 90,90,102
阅读(919) | 评论(0) | 转发(0) |