引子:
前幾天有人問(wèn)到:同一個(gè)QAPI中的同一個(gè)參數(shù),為什么有的定義成Binary(4),而有的定義成Integer(10),并且二者皆出自IBM 官方的red book。IBM應(yīng)該不會(huì)出現(xiàn)烏龍吧?
比如說(shuō)下面的QAPI:
Create User Space (QUSCRTUS) API
Required Parameter Group:
1 Qualified user space name Input Char(20)
2 Extended attribute Input Char(10)
3 Initial size Input Binary(4)
4 Initial value Input Char(1)
5 Public authority Input Char(10)
6 Text description Input Char(50)
另一種定義版本:
Create User Space (QUSCRTUS) API
1 Qualified user space name Input Char(20)
2 Extended attribute Input Char(10)
3 Initial size Input Integer(10)
4 Initial value Input Char(1)
5 Public authority Input Char(10)
6 Text description Input Char(50)
我非常遺憾的告訴大家,IBM沒(méi)有犯這么低級(jí)的錯(cuò)誤,實(shí)際上二者是等價(jià)的。考慮到可能有像我一樣的新手存在疑惑,下面就解釋一下二者為什么等價(jià)。
注釋1:
不過(guò)以Initial size Integer(10)這個(gè)參數(shù)為例,B(4)實(shí)際上又等價(jià)與U(10),因?yàn)镮nitial size這個(gè)參數(shù)必須是大于0的(The initial size of the user space being created. This value must be from 1 byte to 16, 776, 704 bytes),B(4)的取值范圍實(shí)際上是:1 ~ 999 999 999,而U(10)的取值范圍:0 ~ 4294967295,遠(yuǎn)遠(yuǎn)超過(guò)999 999 999了,所以B(4)與I(10)也是等價(jià)的。