浮点:±a×10^n 其中 0≤a<10 -99≤n≤99。 分数:±a/b 其中a和b以十进制表示的位数之和不超过9。 根式:±(a√(b)+c√(d))/e 目前楼主对于 a b c d e 的取值范围不太了解。但是 a b c d e 都可以取 0 或者 1。 复数:±a×10^n±b×10^mi 其中 0≤(a,b)<10 -99≤(n,m)≤99。 指针:目前已知 MatA/VctA (0x60) MatB/VctB (0x61) MatC (0x62) MatAns/VctAns (0x63)。 特殊值:目前已知 ERROR (0xF3)。
目前发现变量 M Ans A B C D E F X Y 是依次存储的,每一个变量占用10字节。 M 的存储位置是基本溢出缓冲区便宜量 +0xCA。也就是紧挨着随机数种子(即不稳定字符,占2字节)存储的。 变量的很多存储方式是用 BCD 码来存储。也就是说这一系列计算器的计算实际上是用十进制的,而不是二进制。这也是为什么这一系列计算器在做大量运算的时候比较慢,但是却不会产生类似计算机 IEEE 浮点数在做二进制运算的时候产生的误差。 复数的实部存储在我所说的地方,而虚部存储在另外的地方,也是各占用10字节(这可以从 CMPLX 溢出模式的种种异常现象研究出来,参考楼主的《【991+】A^0法溢出r!比M^0法节省57%按键次数!》)。这片存储区域在退出 CMPLX 的时候可能会被别的模式的存储区域复写。 矩阵和向量的内容也是存储在另外的地方的,并且那地方和 COMP 模式的历史记录缓冲区貌似共用内存(在 COMP 模式爆出矩阵后输入很长的算式按等号会导致矩阵内容爆出 ERROR,参考楼主的《【991+】不进乱点模式爆矩阵!》)。这片存储区域在退出 MATRIX 的时候会把 MatA/VctA MatB/VctB MatC 清零,但是 MatAns/VctAns 不清,在进入别的模式的时候可能会被覆盖。