=================================================================== RCS file: /home/cvs/OpenXM/doc/Attic/genkou19991125.tex,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -r1.5 -r1.6 --- OpenXM/doc/Attic/genkou19991125.tex 1999/12/18 13:59:50 1.5 +++ OpenXM/doc/Attic/genkou19991125.tex 1999/12/18 15:11:12 1.6 @@ -118,25 +118,46 @@ OpenXM では 8 bit 単位で $( \mbox{\tt 00 0 $( \mbox{\tt 14 00 00 00})_{2^8}$ と表す方法がある。 この表現方法の違いはクライアントとサーバの最初の接続時に 双方の合意で決定することになっている。なお、合意がない場合には -前者の表現方法(以後、これを network byte order と呼ぶ)を +前者の表現方法(以後、この表現方法を network byte order と呼ぶ)を 使うことになっている。 また、負の数を表現する必要があるときには、 +2 の補数表現を使うことになっている。 表現したい多倍長整数の絶対値を 2 進数で表した場合の桁数を $n$ と したとき、次にくるデータは $[(n+31)/32]$ を 32 bit の整数となる。 -これは多倍長整数の絶対値を $2^32$ 進数で表した場合の桁数ととってもよい。 +これは多倍長整数の絶対値を $2^{32}$ 進数で表した場合の桁数ととってもよい。 ただし、表現したい数が負の場合はこの 32 bit の整数値は 2 の補数表現で負になる。 %表現したい多倍長整数が負であってもこれ以降の説明は正の場合と %変わらないので、以後多倍長整数は正とみなす。 -表現したい多倍長整数の絶対値が $2^32$ 進数で $(b_0 b_1 ...)_{2^32}$ +表現したい多倍長整数の絶対値が $2^{32}$ 進数で $(b_0 b_1 ...)_{2^{32}}$ と表せるとき、次にくるデータは $b_0$, $b_1$, $\cdots$ を 32 bit の整数で表現した値となる。 +ここで具体例をだそう。 +$4294967298 = 1 \times 2^{32} + 2$ を network byte order の多倍長整数で +表現すると、 +\begin{center} + {\tt 00 00 00 14 00 00 00 02 00 00 00 02 00 00 00 01} +\end{center} +となる。また、同じ表現方法で $-1$ を表現すると、 +\begin{center} + {\tt 00 00 00 14 ff ff ff ff 00 00 00 01} +\end{center} +となる。 \section{MathCap について} + +%前節で見たように、 1 つのメッセージの長さは決まっていない。 +サーバおよびクライアント双方ともに OpenXM で規定されている +すべてのメッセージを理解できるわけではない。 +そこで、 OpenXM では相手の理解可能なメッセージを +収得する方法を用意している。 +CMO 層で定義されている MathCap データは + + \section{security 対策}