混数进制、 进位行数字工程方法的混数算盘 技术领域
本发明涉及数字工程方法和算盘领域。
背景技术
本发明中 "数字工程"是专指 "数字计算系统工程" 。 它是解决四则运算 法则等计算系统本身的数字工程实现技术方案。 "采用工具的数字计算" 历史 上包括笔算、 珠算、 机械算、 电算, 以及筹算等。 现代仅剩下三种, 这就是数 字电算、 珠算、 笔算。 与此相应的数字计算系统工程也就仅有三种: 数字计算 机; 算盘; 采用笔和纸进行笔算的数字计算系统工程, 简称为 "笔算工程" 。
当前数字工程方法中的四则运算, 首先是加法, 有许多不尽如人意之处。 主要表现为运算速度慢; 在减法中, 未能充分利用负数的作用, 而且, 不能 "连 减" 。 尤其在加减联合运算中, 不能一步到位; 在乘法中, 加法的缺点更加扩 大严重; 在除法中, 上述缺点依旧。 总之, 在最小的数体一一有理数体中, 四 则运算情况并不满意。 在笔算数字工程中, 对运算的解剖, 表明存在一些隐含 的操作程序, 以至产生 "隐患" 。 以 "二数相加" 为例, 算式如式一
123456+345678=469134。 [文中凡未标明数制的数, 均指普通十进制数。 下同。 】 其中, 十位上的和数 3, 解剖一下。 其微程序操作是: ®个位上来的进位; © 十位上 5、 7二数字与低位进位相加,即( 5+7+1 )。取其和的个位; ©上列( 5+7+1 ) 和的进位送到高位。 其余各位, 情况类似。 又如例二, 设三数求和, 算式如式 二 78+297+259=634。 上述情况更为加重。 显然, 存在下列缺点: a.进位标示困 难。 若用小数字表明, 则易混淆且字面积受限。 特别是表 456789 时就更烦人; 若以 "." 符写在数字间, 则易与小数点混淆且表示 4δ6789也不便; 若以手指 数数, 则速度慢且不方便; 若心算,. 则费脑力且易错。 总之, 比较讨厌, 易出 错。 b.—般二数相加时, 每一位上要有三个数相加求和。 于是, 需三重运算。 三及三以上个数相加求和时, 则更不方便。 c.验算困难。 一般采用重做一遍, 费时费力。
减法比加法麻烦。 而且不能在同一竖式中 "连减" , 必须断开。 特别在加 減联合运算时, 不能一步到位。 乘除法中, 这类情况更为严重。 而且, 加減乘 除运算格式不统一, 除法时另起炉灶。
另一方面, 在电子计算机数字工程中,这些数一般均采用普通二进制数来表 示。 其负数常以原码、 反码、 补码、 移码之类来表示。 在现有计算机中运算均
以二个数运算, 而无法实现 "多重运算" 。 所谓 "多重运算" , 是指多于二个 数同时进行加减。 在采用其他普通 Q进制等普通数制的电子计算机中, 存在相 应的许多复杂性。 【Q为自然数。 1
此外,在算盘数字工程中,这些数一般采用普通二进制与普通五进制的 "联 合 Q进制" 数。 因此, 运算口诀繁杂, 而且存在相应的一些复杂性。
发明内容
本发明提出一种新的数字工程方法, 显著提高运算速度; 同时加强运算正 确性的保障, 在 "笔算工程" 中, 大大降低笔算的出错率。
本发明同时提出了, 采用上述 "混数进制、 进位行方法" 的混数算盘, 显 著提高运算速度, 显著筒化结构。 运算采用混数进制中的混 Q进制、 或增 Q 进制、 或偏 Q进制, Q为自然数。 筒写为 "混 /增 /偏 Q进制"。
根据本发明的一个方面, 提供一种混数进制、 进位行数字工程方法, 采用 "混数进制" 数, 以 "混数进制、 进位行方法"运算。 混数进制运算可为下列 方案之一; 方案一: (适于计算机、 笔算工程中)①普通 Q进制数编码或另行 转换为混数进制数; ②混数进制运算( "对冲" 、 "划 Q" 、 "累加" ); ③ 混数进制数译码或另行转换为普通 Q进制数; 方案二: (适于计算机、 算盘中; 也可用于笔算工程, 也可不用; )①普通 Q进制数编码或另行转换为混数进制 数; 混数进制数编码为 "编码全一进制数" ; ② "编码全一进制"运算( "对 冲,, 、 "划 Q" 、 "累加,, ); ③ "编码全一进制数" 译码为混数进制数; 混 数进制数译码或另行转换为普通 Q进制数; 方案三: (适于计算机中)①普通 Q进制数编码或另行转换为混数进制数; 混数进制数编码或另行转换为 {0, ± 1} 二进制 (其特况为普通二进制)数; ② {0, ± 1}二进制运算( "对冲,, 、 "划 Q" 、 "累加" :); ③ {0, ± 1}二进制数译码或另行转换为混数进制数; 混数 进制数译码或另行转换为普通 Q进制数; 方案四: (适于计算机中)①普通 Q 进制数编码或另行转换为混数进制数; 混数进制数编码或另行转换为 "编码 {0, ± 1}二进制数" ; ② "编码 {0, ± 1}二进制,,运算( "对冲" 、 "划 Q" 、 "累 加" ); ③ "编码 {0, ± 1}二进制数,, 译码或另行转换为混数进制数; 混数进 制数译码或另行转换为普通 Q进制数; 本发明中, 采用方案一、方案二来展示。
"混数进制、 进位行方法" 包括以下第一种步骤: 第 1步, 设 K个普通 Q 进制数参予加减运算, 1^为> 2的整数, Q为自然数; 将这些数转换成 K或 2K 个混数进制数; (本发明中, 均采用 2K个混数进制数来展示 );
第 2步, 对 K或 2K个数中的二个数, 进行混数进制的求和运算; 从最低
位开始或各位同时按位相加, 即在某一位上, 取这二个数按位相加; 采用 "对 冲,, 、 "划 Q" 、 累加, 得到这二个数该位 "按位加" 和数; 将此和数记入下 一运算层, 作为 "部份和" 数; 同时所得 "混数进位" , 则存放到下一运算层 或本运算层尚未运算过的, 任一数据行相邻高位的空位或 0位处;
第 3步, 在上述某位的相邻高位上, 重复第 2步的运算; 如此反复, 直至 二数最高位也已运算为止; 当采用并行运算时, 二数^:同时进行第 2 步及第
3步运算, 则本步可跳越过去;
第 4步, 取 K或 2K个数中的另二个数, 进行第 2步及第 3步运算; 如此 反复, 直至 K或 2K个数或运算层中^数均取完为止; 当仅剩下一个数时, 则直接移至下一运算层作为 "部份和" 数;
第 5步, 在下一个运算层中, 将上迷 "按位和"数及 "进位" 数进行前述 第 2步、 第 3步、 第 4步求和运算; 如此反复, 直至运算层中, 运算后仅获得 一个数为止; 则最后所得混数进制加法运算和数, 即为所求 K个普通 Q进制 减运算结果;
或者, 采用以下第二种步骤: 第 1步, 设 K个普通 Q进制数参予加减运 算, K为 > 2的整数, Q为自然数; 将这些数转换成 K或 2K个混数进制数; (本发明中, 均采用 2K个混数进制数来展示);
第 2步, 从最低位开始, 即在某一位上, 取二数、 K或 2K个数同时相加; 采用 "对冲" 、 "划 Q" 、 累加; 即在二数时, 得到二个数该位 "按位加" 和 数; 将此和数记入下一运算层, 作为 "部份和" 数; 同时所得 "混数进位" , 则存放到下一运算层或本运算层尚未运算过的, 任一数据行相邻高位的空位或 0位处;
第 3步, 在上述某位上, 取 K或 2K个数中的另二个数, 重复第 2步的运 算; 如此反复, 直至 K或 2K个数或运算层中 4^数均取完为止; 当仅剩下一 个数时, 则直接移至下一运算层作为 "部份和" 数;
当采用同一位上各数同时运算时, 同时进行第 2步及第 3步运算, 则本步 可跳越过去; 这时在同一位上, 对 n个和为 0的数先进行 "对冲" ; 然后, 对 n个和为 mQ的数进行 "划 Q" ; n为 > 2的整数, m为整数; 所得 "混数进 位" , 则存放到下一运算层或本运算层尚未运算过的, 任一数据行相邻高位的 空位或 0位处; 同一位上, 余下各数进行 "累加" , 或者直接移至下一运算层; 累加采用 > 2的 "多数累加" ; 当采用普通二数 "累加,, 时, 则顺序串行累加; 第 4步, 在上述某位的相邻高位上, 重复第 2步及第 3步的运算; 如此反
复, 直至 K或 2K个数最高位也已运算为止;
第 5步, 在下一个运算层中, 对上述 "按位和" 数及 "进位" 数进行前述 第 2步、 第 3步、 第 4步求和运算; 如此反复, 直至运算层中, 运算后 得 一个数为止; 则最后所得混数进制加法运算和数, 即为所求 Κ个普通 Q进制 数加减运算结果;
或者, 采用以下第三种步骤: 第 1步, 设 Κ个普通 Q进制数参予加减运 算, Κ为 > 2的整数, Q为自然数; 将这些数转换成 Κ或 2Κ个混数进制数; (本发明中, 均采用 2Κ个混数进制数来展示);
第 2步, 采用所谓 "二^ έ算" ; 即, 在 Κ或 2Κ个数的 上, 同时进 行运算; 并且同时对每一位上, η个和为 0的数进行 "对冲"; 11为> 2的整数; 第 3步, 采用所谓 "二维运算" ; 即, 在 Κ或 2Κ个数的各位上, 同时进 行运算; 并且同时对每一位上, η个和为 mQ的数进行 "划 Q" ; n为 2的 整数, m为整数; 所得 "混数进位" , 则存放到下一运算层的, 任一数据行相 邻高位的空位或 0位处;
第 4步, 采用所谓 "二维运算" ; 即, 在 K或 2K个数的各位上, 同时进 行运算; 并且同时对每一位上, 余下各数进行 "累加,, , 或者直接移至下一运 算层; 累加采用> 2 的 "多数累加" ; 当采用普通二数 "累加,, 时, 则顺序串 行累加;
笫 5步, 在下一个运算层中, 将上述 "按位和"数及 "进位" 数进行前述 第 2步、 第 3步、 第 4步求和运算; 如此反复, 直至运算层中, 运算后仅获得 一个数为止; 则最后所得混数进制加法运算和数, 即为所求 K个普通 Q进制 »减运算结果。
混数进制、 进位行数字工程方法, 其中混数进制为混 Q进制、 或增 Q进 制、 或偏 Q进制。 运算采用 "进位行方法" ; 即在运算过程中, 将产生的进位 存放在相邻高位 "进位行" 中, 然后与 "按位和" 一起进行运算。
对 K个数中的 n个数进行求和运算时, 如果在某一位上, 其中 n个运算数 的按位加和为零, 但产生进位 m (与 n个数的和数符号一致); n为 > 2的整 数, m为整数; 进位放入下一运算层或本运算层尚未运算过的, 任一数据行相 邻高位的空位或 0位处; 然后, 将 n个运算数的某位均以逻辑方式置 "0" , 不再参加以后的运算; 这称为 "划 Q" ; "划 Q" 中 m = 0时, 称为 "对冲" ; 或者, 不采用 "对冲" 及 "划 Q" 。
所述混数进制数可以不编码; 可以混数进制数编码; 也可以全一码来编码,
即将各个混数进制数的每一位数 S, 都以 |S|个 1 从最低位顺序至高位排列来对 应, 其余高位均为 0, 总位数则为 Q、 或(Q-1 )、 或 Q/2、 或(Q+1 ) 12位; 同时, 将 S的数符, 即表示该位的数为正或负, 作为相应全一码中每一位上的 数符(参见第三部分增 Q进制及全一码); 当采用全一码来编码混数进制数 时, n个数加法仅为 n个数中 1或 T的不重复排列, 称为 "排 1" ; 其全一码编 译可以定码长或变码长。
根据本发明的另一个方面, 提供一种混数进制的混 Q进制、 或增 Q进制、 或偏 Q进制算盘, 即"混数算盘"。 当 Q=10 时, 即为 "混十算盘"。 混数进制 运算可为前述方案二来展示; 设 K个普通 Q进制数参予加减运算, 1^为> 2的 整数, Q为自然数; 将这些数转换成 K或 2K个混数进制数; 算盘中的数字工 程方法, 采用前述第一种步骤。 在盘状长方形机械框架结构中, 以人工手动方 式使算珠沿竖档上下移动, 采用 "对冲,, 、 "划 Q" 、 累加来进行计算。 在上 下框之间采用 15档竖档, 或多于 15档, 或少于 15档。 竖档呈直线型; 或者呈 "― "型, 分为长度相等的上中下三段。 每段长度约为全档算珠的厚度, 其 起伏均有圆滑过渡, 以便于算珠推动。 每根竖档上贯穿有 Q、 或(Q-1 ) 、 或 Q/2、 或(Q+1 ) 12只算珠; 当 Q=10时, 有 10只或 9只或 5只算珠。 在每根 竖档(7 )上下各增加一个可上下移动的算珠, 以横梁隔开; 或者, 在上框的 上方具有一根横轴, 横轴上相应每根竖档, 均有可转动的转换标示。 转换标示 为正三角柱体、 正方柱体、 圆柱体、 球体或算珠体等, 二值 {0, 5 }或三值 {0, ± 5 }状态元器件; 或者, 不增加。 上框的水平中线位置上有上框小槽。 小槽 中有游标一只, 或者一只以上, 或者没有。 游标可以在槽中左右滑动, 作为参 与运算及结果数的小数点或其他特定的定位标记。
混数算盘中运算数为混数进制数, 筒称 "混数数"。混数进制为混 Q进制, 或增 Q进制, 或偏 Q进制。 Q=10时是 "混十数" 。 采用全一码及正负码编码。 本发明混数算盘中, 其编译码采用定码长来展示。
附图说明:
图 1为混 Q算盘的 W结构示意图 (Q = 10 )。 图中标有: 1.算珠, 2.左 框, 3.游标 1 , 4.游标 2, 5.上框, 6.上框小槽, 7.竖档, 8.右框, 9.下框。
图 2为增 /偏 Q算盘的机械结构示意图 (Q = 10 )。 图中标有: 1.算珠, 2. 左框, 3.游标 p 4.游标 2 , 5.上框, 6.上框小槽, 7.竖档, 8.右框, 9.下框, 10.
"转换标示" 。
图 3为 "转换标示" 10。
具体实施方式
第一部分 混数进制、 进位行数字工程方法
1.《进位行方法》
1.1进位与 《进位行方法》
在电子计算机等数值运算中, 运算速度提高的关键之一, 就在于 "进位"。 进位的获得,进位的存贮以及进位的参予运算都是至关重要的。 "进位" 就是争 "速度"。 在笔算工程中, 还直接影响到 "出错率"。 本部分以笔算工程为例。 所谓《进位行方法》就是, 在运算过程中, 将产生的进^ ^放在参予运算与 "按 位和" 数同等的位置上, 然后与 "按位和" 一起进行运算。 通常同运算层中二 数相加时, 将各位上的进位排列成一行, 称为 "进位行"。 (运算层的概念, 见 下节。)举例如下,设二普通十进制数求和,算式如式三 123456+345678=469134。 个位运算(6+8 ) =14, 其进位 1写于下一行的高一位上。 依此类推。 式中二数 相加时, 各位上不计进位的求和, 称为 "按位加 θ"。 其和称为 "按位和"。 按 位和的数据行, 称为 "㊉行"。 ㊉行与进位行组成 "运算层"。
1.2《进位行方法》分析
1.2.1二数求和的分析
采用 《进位行方法》的加法运算由上节可知:
① 二数相加时, 每一位上只有二个数相加; 在进位行中直接标示进位, 不存在任何困难; ②验算十分方便。
[引理一】二数相加时, 任意位上要么有进位记为 1 , 要么无进位记为 0;
[引理二 1 二数相加时, 任意位上的 @和可为 0 ~ 9之一。 但是, 当该位上 有向高位进位时, 该位上的㊉和只能为 0 ~ 8之一, 而不能为 9。
由 [引理一】和 [引理二 I可得:
【定理一]二数相加时, 当且仅当某位上没有向高位进位时, 该位上的㊉和 才可能出现 9。
1.2.2层次概念及运算层
设二数求和。 算式为式四 5843029+4746979=10590008。 由式四可见, 运 算是分层次进行的。 运算层将一个运算解剖成子运算。 每一运算层中, 又将子 运算解剖成微运算。 微运算仅完成一项筒单运算。 这就是运算的 "层次"概念。
"层次" 概念是数学中的基 ^念, 《进位行方法》正是建立在此基础上。 以 往的加法运算方法, 本质上也隐含 "层次" 概念。 因此, 《进位行方法》 中的
"层次" , 从总体上看并未增加运算的复杂性。 反之, 以往的方法由于隐含了 "层次,, , 反而进一步增加了运算的复杂性。 这一点, 也进一步造成运算速度 被降低。
1.2.3唯一的运算层
二数相加时, 特别情况下会出现多次运算层。 各层有如下关系成立。
【引理三】 二数相加时, 当某位前一运算层上有进位时, 其后各运算层上均 不可能出现进位。 (由引理一、 D
[引理四】 二数相加时, 当某位后一运算层上有进位时, 其前各运算层上必 无进位。 (由引理一、 二得)
[定理二 1二数相加时, 同一位各运算层上, 要么都无进位, 要么只能有一 个进位。 (由引理三、 四得)
[推 论 1 二数相加时, 可以将全部各层进位行合并为一个进位行; 除第 0 运算层(初始运算式)外, 可以将各运算层合并为一个运算层。
1.2.4三数及三数以上求和分析
设三数求和, 算式为 231+786+989=2006 (式五) 。 又, 设六数求和。 算 式为 786+666+575+321+699+999=4046 (式六) 。 操作要点:
① "划 Q" 的运用; 所谓 "划 Q" , 即 Q进制的 η个数在某位上相加时, 其按位加和为零, 但该位上产生进位 m (与 η个数的和数符号一致)。 η为 > 2 的整数, m为整数。 进位放入下一运算层或本运算层尚未运算过的, 任一数据 行相邻高位的空位或 0位处; 同时在某位上, 该 n个数均不再参加运算。 即, 同一位上 n个数和为 mQ时, 可将 n个数均划去, 然后在高位上的空位或 0位 处补 m。 在十进制时 Q=10, 划 Q即为 "划十" 。
②多个数相加, 可出现二个及二个以上的运算层。 为了减少运算层数,同一 位上的同一运算层空位或 0位中, 进位及 和数可以任意占位; 一个运算层中 某位上的进位, 可以放入下一运算层或本运算层尚未运算过的, 任一数据行相 邻高位的空位或 0位处;
③尽量减少运算层。 a、 较小的数, 直接合并算; b、 尽量在 "配对,, 中进 位; c、 尽量减少在第一运算层上相加数的个数, 尽量使第二及二以上运算层不 出现。
④同一位上, 进行 "累加,, , 或者直接移至下一运算层; 累加采用> 2 的 "多数累加" ; 当采用普通二数 "累加" 时, 则顺序串行累加; "相同数" 、 "连续数" 等, 可直接得 "部分和" 。
2.混数及混数进制
2.1《数制理论 SZI 》
2.1.1按同一种规则记录数, 便于用来在一个数系统中进行运算的数的制 度, 称为 "记数系统的制度" 。 筒称为 "数制" 。 《数制理论 SZLL》就是研 究数制的生成、 分类、 分析、 比较、 变换、 计算等的科学。 它也是研究数制在 数论、 群论、 集合论、 博弈论等数学其他分支; 及其在多值逻辑、 Walsh函数、 《狭义及广义模随论 MSL》等^ 近学科; 特别是在数字工程领域的计算机、 笔算工程及算盘中应用的科学。 它是数学的基 理论之一。 数学科学, 即 "数" 的科学。 "数" 的基本为 "数制" 。 因此, 《数制理论 SZLL》是 "数论" 的 基础, 是 "核心数学" 的 "核心,,之一。
2.1.2位值制数制
设, 构造一个数系, 其中的数以各不相同位置上的 "数符" 来表示。 "数 符,, 又称 "数字" 。 数字通常从右向左水平排列。 对于每个数位上的全部数字 均给定一个单位值(又称 "位值" ) , 其值由低(小)到高 (大)。 以此表示 整个数系中每一个数的数制, 称为 "位值制数制" 。 我们以下讨论的数制, 都 是 "位值制数制" 。 在不致误解时, 也直接筒称为 "数制" 。
2.1.3数制的三大要素: 数位 I, 数元集 Zi和权 Li。
a、 数位 I表示数制中数的^ 数字的位置。 I为序数, 从右自左 示。 即, i=l,2,3,…表示该数的第 1, 2, 3, ... 位。
b、 数元集 Zi, 表示第 I位上的 "数元" 组成的集合。 同一数制系统中, 各个数同一位上不同符号的全体, 组成一个该位上的数符集。 该数符集中的元 素, 称为 "数的元素" 。 筒称为 "数元" 。 因此, 该数符集称为 "数元集 Z" 。 数元集 Zi可以随着 i的取值不同而不同, 也可以相同。 当名^上的 ¾均为相 同的 Z时, 相应的数制称为 "单一集数制" 或 "单一数制" ; 当各位上的 Zi 不全相同时, 相应的数制称为 "联合集数制" 或 "联合数制" 。
数元集 Zi 中的数元可为复数或其他多种多样符号。 在《数制理论》 中, 以 来表示数元 ( a ^as,…:), j为自然数。 以 i 表示第 i位上数元 。 约定, ¾=-Α ( A为复数)时, 可表示为 = 。 数元集 Zi以集合 来表示, 即 ,... }; 或者, 以文字表明其特征。 为便于计算, 通常取数元 ¾ 为整数, 以阿拉伯数字来表示。
数元集 Zi的基数 Pi ( Pi为自然数), 表示了集的元素总数。 恩格思指出: 它 "不但决定它自己的盾, 而且也决定其他一切数的质。 " Pi的取值不同, 标
示了数元集 Zi的变化。 各位上的 Pi为相同的 P, 则称为 "单一基数" ; 否则, 称为 "联合基数" 。
在《数制理论》的 "位值制数制" 中, 定义数中的 "空位,,表示 "无" , 其位值为 0, 称为 "空位 0" 。 "空位 0" 是 0的一种, 是 0的一种表达形式, 是一种隐含的 0。 通常不加以标明 ; 在数元集中, "空位,,是一种特殊的数元, 称为 "空位元" 。 筒称为 "空元" 。 "空元" 是每一个 "位值制数制" 数元集 均有的数元, 其在数元集中的表示即为 "空位" 。 通常不加以标明。 "空元" 是数元集中, 唯一通常不计入数元 ,也不计个数, 即个数为 0的数元; 另一方 面, 在特别情况下, 为统一表述, 则将其计入数元, 其个数计为 1。
c、 权 Li, 表示第 i位上的位值大小。 特称此位值为 "权 Li" 。 Li为实数。 为便于计算, 通常取权 Li为整数, 特别是自然数, 以阿拉伯数字来表示。 不同 的 Li, 就决定了不同的位值。 在 "编码理论" 中, "编码" 的主要特征就在于 权 Li。
实际中常见的权 Li釆用所谓 "幂权" 。 即, 令 Li-Qi ^A为实数。 为便 于计算, 通常取(¾为自然数。 (¾可以阿拉伯数字来表示, 也可以中文小写数字 来表示。 常见各位 Li均为幂权, 而且成等比 Q的数制。 Q称为数制幂权的 "底 数" 或数制的 "底数" 。 底数 Q的不同, 决定了不同的 Li, 从而决定了不同 的位值。 Qi可以随着 i的取值不同而不同, 也可以相同。 当名 上的数制幂权 Qi, 其底数均为相同的 Q时, 相应的数制称为 "单一 Q进制" 。 简称为 "Q 进制" 或 "进制" 。 当各位上的数制幂权 Qi, 其底数不全相同时, 相应的数制 称为 "联合 Q进制" 。 另一种常用的权 Li采用 "等权" , 即各位上的权 L相 同。
根据上述数制的三大要素, 数制可以有无穷无尽的种类。
2.2混数及混数进制
当数元集 Zi中, 含数元 0时, 该相应数制被称为 "含 0数制" 。 对于进 制, 则称为 "含 0进制" ; 当数元集 Zi中, 不含数元 0时, 该相应数制被称为 "不含 0数制" 。 对于进制, 则称为 "不含 0进制" 。
当数元集 Zi 中, 既有正数元, 又有负数元时, 相应数制被称为 "混数数 制" 。 对于进制, 则称为 "混数进制" ; 混数数制中的数, 称为 "混数" 。 "混 数" 中既有正数元又有负数元的数, 称 "纯混数" 。 当数元集 Zi中, 正负数元 是相反数时, 相应数制称为 "对称数制" 。 对于进制, 则称为 "对称进制" 。
当数元集 Zi 中, 全部数元为连续整数成为 "整数段" 时, 该相应数制被
称为 "整数段数制" 。 对于进制, 则称为 "整数段进制" 恩格斯指出: "零比 其他一切数都有更丰富的内容。 " 鉴于 "0" 的这种特殊重要性, 在《数制理 论》 中, 含 0整数段去掉 0时, 仍作为一种特殊的整数段。
在《数制理论》中建立了 "代数数制系统"。一个数制的名称采用 "Zi Li" 。 对 Q进制, 则为 ZiQi; 单一数制时, 则为 ZLi; 单一数制中联合 Q进制时, 则为 ZQi。 单一数制中 Q进制时, 则为 ZQ。 其中, Q以中文小写数来表示。
对于含 0的普通 Q进制, Z={0, 1, ..· , ( Q-l ) }。 故 ZQ={0, 1, ... , ( Q-l ) }Q, Q为 > 1的整数, 称为 "含 0普通 Q进制" 。 符号表示为 {含 0, Q}; 对于不含 0的 {1, 2, …, Q}Q, Q为自然数, 称为 "不含 0普通 Q进制" 。 符号表示为 {不含 0, Q}。 含 0和不含 0的普通 Q进制, 合起来统称为 "普通 Q进制" , Q为自然数。 符号表示为 {Q}。 当不致误解时, "含 0普通 Q进制" 亦可称为 "普通 Q进制" , 亦以符号 {Q} 示。 故可以符号 {二}及 {十}^ 示 普通二进制及普通十进制。
在任一个具有整数段数元集的 Q进制数制中, 当 P=Q时, 自然数在该数 制中可以连续唯一的形态表达, 称为 "连续数制" , 又称 "普通数制" ;
当 P > Q时, 自然数在该数制中可以连续, 但有时以多种形态表达, 称为 "重复数制" , 或 "增强数制" 。 对于 Q进制, 又称为 "增强 Q进制" , 筒 称为 "增 Q进制" ; 当 P < Q时, 自然数在该数制中只能断续的形态表达, 称 为 "断续数制" , 或 "减弱数制" 。 对于 Q进制, 又称为 "减弱 Q进制" , 简称为 "减 Q进制" 。
本文中的混数进制主要为以下几类:
对于含 0的 {0, ± 1, …, 土 (Q-1 ) }Q进制, Q为 > 1的整数, 称为 "含 0混 Q进制" 。 符号表示为 {含0, Q*}; 对于不含 0的 { ± 1 , ± 2, …, 士 Q}Q 进制, Q为自然数, 称为 "不含 0混 Q进制" 。 符号表示为 {不含 0, QA}。 含 0和不含 0的混 Q进制, 合起来统称为 "混 Q进制" , Q为自然数。 符号表示 为 {Q'}。 当不致误解时, "含 0混 Q进制" 亦可称为 "混 Q进制" , 亦以符号 {Q*}来表示。 故可以符号 {十*}及{二*}来表示 "混十进制" 及 "混二进制" 。 在 《数制理论》 中, {十 的名称是: "单一基数 P=19, 含 0, 整数段, 对称的十 进制" 。 可写为 {十九, 含 0, 整数段, 对称 }十进制, 或者写为 {0, ± 1 , ± 2, …, ± 9}十进制。 一般情况下, 进一步符号表示为 {十* } , 称为 "混十 进制" ; {二*}的名称是: "单一基数 P=3, 含 0, 整数段, 对称的二进制" 。 可写为 {三, 含 0, 整数段, 对称 }二进制, 或者写为 {0, ± 1 }二进制。 一
般情况下, 进一步符号表示为 ί二 *}, 称为 "混二进制" ;
增 Q进制中, 特别重要的是!》 = 0+1>()的一种。 Q为自然数。 本文中, 仅指这一种。 增 Q进制中, 含 0整数段、 对称增 Q进制称为 "含 0对称增 Q 进制" 。 当不致误解时, 简称为 "含 0增 Q进制" , 符号表示为 {含0, QA}; 不含 0整数段、 对称增 Q进制称为 "不含 0对称增 Q进制" 。 当不致误解时, 简称为 "不含 0增 Q进制" , 符号表示为 {不含 0, QA}。含 0和不含 0整数段、 对称增 Q进制, 合起来称为 "对称增 Q进制" , 又筒称为 "增 Q进制" 。 当 不致误解时, "含 0增 Q进制" , 亦筒称为 《增 Q进制" ,符号亦表示为 {QA}。 鉴于增 Q进制的特别重要性, 进一步表述如下。
对于含 0的 {0, ±1, ..·, ±Q/2}Q进制, Q为正偶数, 称为 "含 0增 Q 进制" 。 符号表示为 {含0, QA]; 对于不含 0的 {±1, ±2, …, 士 (Q+1)/2}Q 进制, Q为正奇数, 称为 "不含 0增 Q进制" 。 符号表示为 {不含 0, (Τ}。 含 0和不含 0的增 Q进制, 合起来统称为 "增 Q进制" , Q为自然数。 符号表示 为 {Q 。 当不致误解时, "含 0增 Q进制" 亦可称为 "增 Q进制" , 亦以符 号 {<^}来表示。 故可以符号 {十 及{二 来表示 "增十进制" 及 "增二进制" 。 在《数制理论》 中, {十 的名称是: "单一基数 Ρ=Π, 含 0, 整数段, 对称 的十进制" 。 可写为 {十一, 含 0, 整数段, 对称 }十进制, 或者写为 {0, 土 1, ±2, ..·, ±5}十进制。 一般情况下, 进一步符号表示为 { + Δ} , 称为 "增 十进制" ; {二 的名称是: "单一基数 Ρ=3, 含 0, 整数段, 对称的二进制" 。 可写为 {三, 含 0, 整数段, 对称 }二进制, 或者写为 {0, +1}二进制。 一 般情况下, 进一步符号表示为 {二 } , 称为 "增二进制" ;
对于含 0的 {0, ±1, 士 (Q/2-1) , Q/2}Q进制, Q为正偶数, 称为
"含 0偏 Q进制" 。 符号表示为 {含0, Q, }; 对于不含 0的 {±1, ±2, ..., 士 (Q-1) /2, (Q+l) /2}Q, Q为正奇数, 称为 "不含 0偏 Q进制" 。 符号表 示为 {不含 0, Q, }。 含 0和不含 0的偏 Q进制, ^^来统称为 "偏 Q进制" , Q为自然数。 符号表示为 {Q, }。 当不致误解时, "含 0偏 Q进制" 亦可称为
"偏 Q进制" , 亦以符号 {Q, }来表示。 故可以符号 {十, }及{二, }来表示 "偏 十进制" 及 "偏二进制" 。 在《数制理论》 中, {十, }的名称是: "单一基数 P=10, 含 0, 整数段, 偏对称的十进制" 。 可写为 {十, 含 0, 整数段, 偏对 称}十进制, 或者写为 {0, ±1, ±2, ..·, ±4,5)十进制。 一般情况下, 进 一步符号表示为 {十, } , 称为 《偏十进制》; {二, }的名称是: "单一基数 P=2, 含 0, 整数段, 偏对称的二进制" 。 可写为 {二, 含 0, 整数段, 偏对称 }
n
二进制, 或者写为 {0, 1 >二进制。 一般情况下, 进一步符号表示为 {二, } , 称为《偏二进制》。
2.3混数编码
以混数来编码的方法, 称为 "混数编码" 。
当 A进制数元以 B进制数等来编码时, A进制数 排列成相应的 B进 制数等。 这称为 "以 B进制数等编码的 A进制数" , 筒称为 "B编码的 A数" , 或 "编码 B数,, , 或 "编码数" 。 例, {十} 328= {二} 101001000; 其 "编 码 {二}数,, 为 0011, 0010, 1000。 如上述 "编码 {0, ± 1 }二进制数,, , 即 指以 {0, ± 1 }二进制 (其特况为普通二进制)数来编码的 "编码数,, 。 所谓 "编码 B数" 的运算, 即为 "编码 B进制"运算。 这时, A进制数的位与位间 为 A进制运算, 但每位中则为 B进制运算。 A进制数元以 B进制数等来编码 时, 所需 B进制数的最多位数, 称为 "码长" 。 固定的 "码长" , 称为 "定码 长" ; 如最高位 0不加以标明, 使之成为 "空位 0" 时, 相应 "码长" 是变化 的, 称为 "变码长" 。
混数进制、 进位行数字工程方法, 所述运算 混数进制数。 可以不编码; 可以混数进制数编码; 也可以全一码来编码, 即将各个增 Q进制数的每一位数 S, 都以 |S|个 1从最低位顺序至高位排列来对应, 其余高位均为 0, 总位数则为 Q、 或(Q-1 ) 、 或 Q/2、 或(Q+1 ) /2位; 同时, 将 S的数符, 即表示该位的 数为正或负, 作为相应全一码中每一位上的数符; 当采用全一码来编码增 Q进 制数时, n个数加法仅为 n个数中 1或 T的不重复排列, 称为 "排 1" ; 其全一 码编译可以定码长或变码长。
3.《混进方法 HJF》四则运算。
采用混数进制和《进位行方法》来进行有理数运算的方法, 称为 《混数进 制、 进位行方法》, 筒称为《混进方法 HJF》。 采用混 Q进制和《进位行方法》 来进行有理数运算的方法, 称为 《混 Q进制、 进位行方法》; 当不致误解时, 亦可简称为 《混进方法 HJF》。 设 K个普通 Q进制数参予加减运算, 1^为> 2 的整数, Q为自然数; 将这些普通 Q进制数的正负符号, 分配到相应这些数的 每一位上去, 即成为混 Q进制数;
采用增 Q进制和《进位行方法》来进行有理数运算的方法, 称为 《增 Q 进制、 进位行方法》; 筒称为 《增进方法 ZJF》。 设 K个普通 Q进制数参予 加减运算, K为 > 2的整数, Q为自然数; 将这些数转换成 K或 2K个增 Q进 制数;
(一) 以含 0的 {Q}→{QA}数转换为例:
{Q}={0, 1, ..·, (Q-l) }Q, 0为 >1的整数……①
{QA}={0, ±1, 士 Q/2}Q。 Q为正偶数……②
由①及②可知, 0为>2的偶数。
VQ 2, 2Q>2+Q, Q Q/2+l, --. (Q-l ) >Q/2
当 Q=2时, (Q-l) =Q/2, 即以绝对值而言, {二}最大数元所表示 {二}数, 等于 {二 }最大数元所表示 {二}数; 当 Q为>2 的偶数时, (Q-l) >Q/2, 即以 绝对值而言, {Q}最大数元所表示 {Q}数, 总是大于 {(? 最大数元所表示 {Q}数。 这时 {Q}数元(Q-1) ={(Τ}1Ϊ。 即, {Q}数元(Q-U转换成相应的 {(Τ}数, 为两位数 1Ϊ。 其中, 高位实质是 "进位" 。
由此可知, 一个 {Q}数转换成相应的 {QA}数, 当 Q=2时, 仍为一个 {QA}数; 当 0为>2的偶数时,可统一成为二个 {QA}¾之和。 其中一个 {QA}数, 即为 "进 位行"数。 K个 {Q}数转换成相应的 {QA}数, 当 Q=2时, 仍为 K个 {Q 数; 当 Q为>2的偶数时, 可统一成为 2K个 {(^}数 。
(=)对于不含 0的情况, Q为正奇数。 可以证明, 有类似的结论。
〇如已经将一个 {Q}数, 另行转换为一个 {QA}数, 则 K个 {Q}数转换为 K 个 {(T}数。
本发明中, 均采用 2K个增 Q进制数来展示;
采用偏 Q进制和《进位行方法》来进行有理数运算的方法, 称为 《偏 Q 进制、 进位行方法》 , 简称为 《偏进方法 PJF》。 设 K 通 Q进制数参予 加减运算, 1:为>2的整数, Q为自然数; 将这些数转换成 K或 2K个偏 Q进 制数。
(一) 以含 0的 {Q}→{Q, }数转换为例:
{Q}={0, 1, ..., (Q-l) }Q, Q为 >1的整数……①
{Q, }={0, ±1, …, 土 (Q/2-1) , Q/2}Q。 Q为正偶数……② 由①及②可知, Q为 >2的偶数。
Q 2, 2Q>2+Q, Q>Q/2+l, 人 (Q-l) >Q/2
当 Q=2时, (Q-l) =Q/2, 即以绝对值而言, {二}最大数元所表示 {二}数, 等于 {二' }最大数元所表示 {二}数; 当 Q为>2的偶数时, (Q-l) >Q/2, 即以 绝对值而言, {Q}最大数元所表示 {Q}数, 总是大于 {Q, }最大数元所表示 {Q}数。 这时 {Q}数元( Q-l ) ={Q, }1ϊ。 即, {Q}数元(Q-l)转换成相应的 {Q, }数, 为两位数 1Ϊ。 其中, 高位实质是 "进位" 。
由此可知, 一个 {Q}数转换成相应的 {Q, }数, 当 Q=2 时, 仍为一个 {Q, } 数; 当 Q为>2的偶数时, 可统一成为二个 {Q, }数之和。 其中一个 {Q, }数, 即为 "进位行"数。 K个 {Q}数转换成相应的 {Q' }数,当 Q=2时,仍为 K个 {Q, } 数; 当 0为>2的偶数时, 可统一成为 2K个 {Q, }数之和。
(=)对于不含 0的情况, Q为正奇数。 可以证明, 有类似的结论。
Θ如已经将一个 {Q}数, 另行转换为一个 {Q, }数, 则 K个 {Q}数转换为 K个 {Q, }数。
本发明中, 均采用 2K个偏 Q进制数来展示。
混数进制运算可为前述方案之一; 本发明中, 《混进方法 HJ 》采用方案 一, 以笔算工程来展示; 可采用前述第一种或第二种步骤。 这里, 采用第二种 步骤。
3.1{十 的加法
例: 123+456=427 (式七)
式中求得和为 5Ϋ 。 当需要转化为普通十进制 {十}数时, 和为 427。 一 般来说, 所求和 不必转化(特别是作为计算过程中间结果时) 。 确需转化 时, 方法见 4.1转换法则。
3.2{十 的减法
例 1§3— 4^=1 +356= 9
例 112+56-32-85+67-46=72 (式八)
3.3{十¾}的乘法
例 238X89=12502 (式九)
3.4{十¾}的除法
例 5728 ÷ 23=249... ...1 (式十)
3.5 {十 的加法
例: 1 +344=433 (式七)
式中求得和为 3。 当需要转化为普通十进制 {十}数时, 和为 427。 一 般来说, 所求和 4 不必转化(特别是作为计算过程中间结果时)。 确需转化 时, 方法见 4.1转换法则。
3.6 {十 }的減法
例 1 3—344=123+ 333二
例 112+1 $-32-1 +133-53=1 (式八)
3.7 {十 }的乘法
例 2 X 131=11502 (式九)
3.8 {十 }的除法
例 1^32 ·÷- 23=251…… 1 (式十)
3.9 {十, }的加法
例: 123+344=433 (式七)
式中求得和为 4 。 当需要转化为普通十进制 {十}数时, 和为 427。 一 般来说, 所求和 不必转化(特别是作为计算过程中间结果时)。 确需转化 时, 方法见 4.1转换法则。
3.10 {十, }的减法
例 123—344=1 3+ 333=34ϊ
例 112+1 ?5-32-125+133-54=132 (式八)
3.11 {十, }的乘法
例 2 Χ 131=11502 (式九)
3.12 {十, }的除法
例 1 32 + 23=251…… 1 (式十)
3.13四则运算的特点
①加减法合并为加法。 首先减法化为加法来运算。 这一来实际计算中, 加 减就合并为加法了。 这就消除了通常连加减的困难。 这是由于混数的特性所决 定。 这样就产生了 "约混" 技术。 这是指同一位上的 η个数求和时, 若和数为 零, 则这 n个数可以消去。 "约混" 也可称为 "对消" 或 "对冲"。 即, "划 Q" 中 m = 0时, 称为 "对冲"。 在算式中, 该位上的这 n个数, 可以斜线划去, 不 再参加以后的运算。 在实际运算中, 采用先 "对冲"、 后 "划 Q,,、 再 "累加,, 来获得混 Q数的结果。
②乘除方法简单。 由于采用混数可使除法中的 "减"过程变为 "加"过程。 为了去掉 "减" 过程的思路, 进一步还可以令被除数变号。 然后, 整个 "减" 过程完全变成 "加" 过程。 这可使整个运算的复杂性进一步降低。 以后, 我们 的除法就以此来进行。 应该注意, 此时若出现余数, 则要将该余数变号后, 才 是最终运算结果的余数。
同时, 除法中的试商过程, 可变为予先设定的迭代过程。
③四则运算加减乘除, 均可全面地显著提高运算速度。
② 加强运算正确性的保障, 在 "笔算工程" 中, 大大降低笔算的出错率。
4.《混十进制》 {十'}与 《普通十进制》 {十}的关系。
4.1{十'}与 {十}数的转换法
这里指整数的情况, 例如 {十*}3^25 6= {十} 221716(式十一)。 {十}数 本身即为 {十*}数的一种特况, 故 {十}数不经转换即为 {十* }数, 只要将 这些普通 Q进制数的正负符号, 分配到相应这些数的每一位上去。
{十*}数转换成 {十}数。 方法有几种: 一种是将 {十* }数变为一正一 负的二个 {十}数求和。 这有好多方式。 其中, 典型的是将该 {十3数中各正 数字位及 0位作为一正 {十}数, 而将各负数字位作为一负 {十}数。 例 {十 3822 96 = {十} 302006 - 80290 = 221716。 再一种是在该数的各位上, 使正数 不变; 负数变为其绝对值对 10取 "补" 数, 同时在相邻的高位减 1 (即加 τ ) 。 另一种方法是: 在该数的各位上, 连续正数字(或 0 )的数字段照写不变。 如 3 x 2 X X 6。 但, 当其不在 {十*}数末尾(个位) 时, 则最低位加 T ; 连续负 数字的数字段, 则使负数字变为其绝对值对 取《补" 数, 如>< 1 >< 70 。 然 后, 在其最低位加 1。 这样, 求得结果为 22Π16, 即为相应 {十}数。
当需转换的 {十 数首位为负, 即该数为负数时, 则将该数的相反数转换 成 {十}数, 然后取此 {十}数的符号为负即可。
4.2 {十4}与 {十}对照表及其说明 (见表一)
说明:
① 表一中 0 + 0-分别为从正负方向趋近于 0所获得的 0。
②表一中 0表示形式为 "连续非负整数个 9" 的全体的缩写。 即 , 可为 0 个 9, 可为 1个 9, 可为 99, 可为 999, …等形式。 这种形式表示的集合, 称
为 "连集" 。 显然, "连集" 为无限集。 设 E为整数, 则 έ为 E的 "连集" , 筒称为 "连 Ε" 。 读作 "Ε点,, 。 以 "连集" 形式表示的一组无穷个数, 称为 "连集数组" 或 "连集组数" 。
③ ο = δ = ά , 由数 10的二种表达形式可知。 因此 δ = ο = ά = S 。
④ 在 {十*}数系统中, "连集" 形式有且仅有 ( 0 , 6, 9 , 9 )四种。 由于 ά = δ , 故 "连集" 形式有且仅有 ( 6, 9 , 9 )三种, 亦可写为 ( ά , 土 )三种。
4.3 {十 }与 {十}关系分析
4.3.1 {十}数是 {十 数的一部分, {十}数集是 {十* }数集的真子集;
{十 数〕 {十}数, 即 {十¾}数对 {十}数有真包含关系。
4.3.2 {十}数与 {十^数的关系是 "一多对应" 关系, 而不是 "——对 应" 关系。 正由于此, {十* }就获得了多样处理的灵活性。 这是 {十* }运算 中多样性、 快速性的原因。 从这一点来说, {十* }具有较强的功能。
{十}中 P=Q, 因而在该数制中, 自然 Μ连续唯一形态表达。 它没有这 种多样性, 也缺少了这种相应的灵活性。 {十¾ }中 P>Q , 因而在该数制中自 然数会出现多种形态表达。 这正是该数制灵活性所在, 它使运算得以筒便快捷。 也可以说{十*}是以多样性来换取了灵活性。有了它,才有了《混进方法 HJF》, 才有了 "笔算工程" 的新技术方案。 有了它, 也才有了处理器及其相应电子计 算机新技术方案。
4.3.3 {十 数转换为 {十}数, 只能化为相应唯一的一个数。 这是因为, {十 数可经 {十}数加减直接获得, 而 {十}数加减运算后的结果是唯一的。 反之, {十}数也只能化为相应唯一的一组 {十3 "连集组数" 。 所以, 这种 {十}数的 "一" 与{十¾} "连集组数" 的 "一" 组, 二者是 "一一对应" 关系。
由此, 可建立一种 {十*}数与 {十}数的互为映射关系。
由于变换是集到自身上的对应, 所以 {十}与 {十¾ }数是 "一一变换" 。 对于运算系统来说, {十}与 {十4 }数系统是 "自同构" 。 相应 {十}数的各 种运算性质, 亦在 {十 数系统中成立。
4.3.4应当指出, 显然, 上 对{十}与{十 的分析, 完全相应于 {Q}与 {Q*} 的分析, 因为 {十}与 {Q}是同构的。 由此可知: ① {Q}数是 { }数的一部份, {Q} 数集是 {Q*}数集的真子集。 {<T}数 ^ Q}数, 即 {Q4}数对于 {Q}数有真包含关系。 ② {Q}数与 数的关系是 "一多对应" , 而不是 "一一对应" 。 ③同时, {Q} 中的 "一" 个数与相应的 中的 "一" 组 "连集组数" , 二者之间是 "——
对应" 关系。 ④ {Q}与 {Q4}数系统是 "自同构" 。 相应 {Q}数系统的各种运算性 质, 亦在 {(^}数系统中成立。
【以下为增 Q进制的情况】
4.《增十进制》 {十 与《普通十进制》 {十}的关系。
4.1 {十"与 {十}数的转换法
这里指整数的情况, 例如 {十 222324= {十} 221716 (式十一)。 {十} 数需经表一转换成为 {十 }数。
{十 数转换成 {十}数。 方法有几种: 一种是将 {十 }数变为一正一 负的二个 {十}数求和。 这有好多方式。 其中, 典型的是将该 {十 }数中各 正数字位及 0位作为一正 {十}数, 而将各负数字位作为一负 {十}数。 例 {十 Δ } 222324 = {十} 222020-304 = 221716。 再一种是在该数的各位上, 使正数不 变; 负数变为其绝对值对 10取 "补" 数, 同时在相邻的高位减 1 (即加 ϊ ) 。 另一种方法是: 在该数的各位上, 连续正数字 (或 0 )的数字段照写不变。 如 222 χ 2 χ。 但, 当其不在 {十 }数末尾(个位)时, 则最低位加 Ϊ ; 连续负 数字的数字段, 则使负数字变为其绝对值对 9取 "补" 数, 如 Χ Χ Χ 6 χ 5。 然 后, 在其最低位加 1。
这样, 求得结果为 221716, 即为相应 {十}数。 当需转换的 {十 }数首 位为负, 即该数为负数时, 则将该数的相反数转换成 {十}数, 然后取此 {十} 数的符号为负即可。
4.2 {十 }与 {十}对照表及其说明 (见表一)
说明:
② {十}数相应的{十 数可有重复数, 也可没有;
③ 凡 Η"Δ}数中有数字 5 (正或负) 出现时, 则相应的 {十}数有重复的 {十 Δ}数。 此时, 该相应的 {十}数中可有数字 5, 也可没有。 Η"Δ}数对 {十}数的重 复数, 以 5=15及 =Ϊ5为 "主重复" , 即其余重复数均可由此推出。
④ 实质上, 由于 {十 的数元集中既含有 5, 又含有 才产生相应的重复 数。 换句话说, 只要 {十^的数元集中去掉 5或 5, 则不会产生重复数。 这时, 相应这种无重复数的数制, 称为 Q=10的偏 Q进制 { Q,}。
-10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10- {+}
— ϊο Ϊ 1 12 13 14 5 4 3 2 1 0 1 2 3 4 5 14 13 12 11 10- - {十
15 15 表一 {十^与{十}数对照表
4.3 {十 与 {十}关系分析
{十}数与 {十 }数的关系是部分 "一多对应" 关系, 而不是 "一一对 应" 关系。 正由于此, {十 就获得了部分多样处理的灵活性。 这是 {十 } 运算中部分多样性、 快速性的原因。 从这一点来说, {十 }具有较强的功能。
{十"数转换为 {十}数, 只能化为相应唯一的一个数。 这是因为, {十 Δ >数可经 {十}数加减直接获得, 而 {十}数加减运算后的结果是唯一的。 反之, {十}数也只能化为相应唯一的一组{十 }数。所以,这种 {十}数的 "一" 与{十 }数的 "一" 组, 二者是 "一一对应" 关系。
由此, 可建立一种 {十 }数与 {十}数的互为映射关系。 对于运算系统 来说, {十}与 {十 数系统 "同构" 。 相应 {十}数的各种基 算性质, 亦在 {十 数系统中成立。
{十 中 P>Q, 因而在该数制中自然数有时会出现多种形态表达。 这正 是该数制灵活性所在, 它使运算得以简便快捷。 也可以说 {十 "是以部分多 样性来换取了部分灵活性。 {十}中 P=Q, 因而在该数制中, 自然数是连续唯 一形态表达。 它没有这种多样性, 也缺少了这种相应的灵活性。
应当指出, 显然, 上 {十}与{十^的分析, 完全相应于 {Q}与 的分 析, 因为 {十}与 {Q}是同构的。 由此可知: ① {Q}数与 {(^}数的关系是部分 "一 多对应" , 而不是 "一一对应" 。 ②同时, {Q}中的 "一" 个数与相应的 {QA } 中的 "一"组数, 二者之间是 "一一对应"关系。 ③ {Q}与 数系统 "同构" 。 相应 {Q}数系统的各种基;^算性质, 亦在 {(3 数系统中成立。
【以下为偏 Q进制的情况】
4.《偏十进制》 {十, }与 《普通十进制》 {十}的关系。
4.1 {十, }与 {十}数的转换法
这里指整数的情况, 例如 {十' } 222324= {十} 221716 (式十一)。 {十} 数需经表一转换成为 {十' }数。
{十, }数转换成 {十}数。 方法有几种: 一种是将 {十, }数变为一正
一负的二个 {十}数求和。 这有好多方式。 其中, 典型的是将该 {十, }数中 各正数字位及 0位作为一正 {十}数, 而将各负数字位作为一负 {十}数。 例
{十, } 222324 = {十} 222020 - 304 = 221716。 再一种是在该数的各位上, 使 正数不变; 负数变为其绝对值对 10取 "补"数, 同时在相邻的高位减 1 (即加
T )。 另一种方法是: 在该数的各位上, 连续正数字 (或 0 )的数字段照写不 变。 如 222 χ 2 χ。 但, 当其不在 {十, }数末尾(个位)时, 则最低位加 连续负数字的数字段, 则使负数字变为其绝对值对 取 "补" 数, 如 X X χ 6 x 5。 然后, 在其最低位加 1。
这样, 求得结果为 221716, 即为相应 {十}数。 当需转换的 {十' }数首 位为负, 即该数为负数时, 则将该数的相反数转换成 {十}数, 然后取此 {十} 数的符号为负即可。
4.2 {十, }与 {十}对照表及其说明 (见表一)
"'I 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10- 出
—10 1 1 12 13 14 15 4 3 2 1 0 1 2 3 4 5 14 13 12 11 10- 表一 {十, }与{十}数对照表
说明: 表一中相应这种无重复数的数制, 称为偏 Q进制 { Q,}, Q = 10的 情况。
4.3 {十' }与 {十}关系分析
{十' }数与 {十}数的关系是"一一对应"关系。 {十' }数转换为 {十} 数, 只能化为相应唯一的一个数。 这是因为, {十, }数可经 {十}数加减直 接获得, 而 {十}数加减运算后的结果是唯一的。 反之, {十}数也只能化为 相应唯一的 {十, }数。 由此, 可建立一种 {十, }数与 {十}数的互为映射 关系。 对于运算系统来说, {十}与 {十, }数系统 "同构" 。 相应 {十}数 的各种基本运算性质, 亦在 {十, }数系统中成立。 {十, }中 P=Q, 因而在 该数制中, 自然数是连续唯一形态表达。它没有多样性,也缺少了相应的灵活性。
应当指出, 显然, 上述对 {十}与 {十' }的分析, 完全相应于 {Q}与 {Q, }的 分析, 因为 {十}与 {Q}同构。 由此可知: ① {Q}数与 {Q, }数的关系是 "一一对 应" 。 ② {Q}与 {Q' }数系统 "同构" 。 相应 {(¾数系统的各种基^ ^算性质, 亦在 {Q, }数系统中成立。
【以上分別为混 Q进制、 增 Q进制、 偏 Q进制的情况】
5.综合上述, 可有如下筒明结论:
混数进制、 《 混进方法 HJF》在数字工程中, 可¾^提高运算速度,而且 大大降低笔算的出错率。 它正是钱学森指出的数学箄 4 ^ "直接应用的工程 技术" 。 这种 " 与数字计算工程紧密结合的方法, 称为 "混数进制、 进位行数字工程方法" 。 第二部分 混数算盘
混数算盘有混 Q算盘和增 /偏 Q算盘两类。
图 1为混 Q算盘机械结构示意图 (Q = 10 )。 在盘状长方形机械框架结构 中, 以人工手动方式使算珠 1沿竖档 7上下移动, 采用 "对冲,, 、 "划 Q" 、 累加来进行计算; 竖档 7为 15档。 竖档 7上有 Q或( Q-1 )只算珠 1; 当 Q=10 时, 为 9只或 10只算珠 1。 算珠 1的初始位置, 均在竖档 7的中央部分, 而竖 档 7的上下二端均为空位。 游标 1 3在上框小槽 6中滑动到指定的被加数小数 点位置。
本发明混 Q算盘中, 其编译码采用定码长来展示。 混数进制运算可为前述 方案二来展示; 设 K个普通 Q进制数参予加减运算, 1:为> 2的整数, Q为自 然数; 在运算过程中, 首先将普通 Q进制数化为混 Q进制数一般形式。 将这 些普通 Q进制数的正负符号, 分配到相应这些数的每一位上去; 然后进行混 Q 进制、进位行 "混进方法 HJF"的求和运算。运算结果为"混 Q进制"的"混 Q数"。 当最终需要时, 再将"混 Q数"转换为普通 Q进制数; 或者普通十进制数。 参 加运算的数为混 Q进制数, 简称 "混 Q数" 。 当 Q=10时, 则为混十进制数, 筒称为 "混十数" 。 该数采用全一码及正负码编码, 采用定码长来展示。
图 2为增 /偏 Q算盘 结构示意图 (Q = 10 )。 混数进制运算可为前述 方案二来展示; 在盘状长方形机械框架结构中, 以人工手动方式使算珠 1 沿竖 档 7上下移动, 采用 "对冲,, 、 "划 Q" 、 累加来进行计算。 在上下框之间采 用 15档竖档 7。 竖档 7呈直线型。 每根竖档 7上贯穿有 Q/2或( Q+1 ) 12只算 珠 1; 当 Q=10时, 有 5只算珠 1。 在上框 5的上方具有一才 黄轴, 横轴上相应 每根竖档 7, 均有可转动的转换标示 10。 转换标示 10为正三角柱体三值 {0, ± 5 }状态元器件。 上框 5的水平中线位置上有上框小槽 6。 小槽中有游标 ^、 游标 24。 游标可以在槽中左右滑动, 作为参与运算及结果数的小数点或其他特 定的定位标记。
算珠的初始位置, 均在竖档的中央部分, 而竖档的上下二端均为空位。 以
四则运算的加法为例, 被加数布珠 1在竖档 7上, 其个位在右边为被加数小数 点的竖档 7。 竖档 7上有 Q/2或(Q+1 ) /2只算珠 1; 当 Q=10时, 为 5只算珠 1。 游标 在上框小槽 6中滑动到指定的被加数小数点位置。 设 K个普通 Q进 制数参予加减运算, K为 > 2的整数, Q为自然数; 将这些数转换成 K或 2K 个混数进制数; (本发明中, 均采用 2 个混数进制数来展示); 参加运算的 数为增 /偏 Q进制数, 简称 "增 /偏 Q数"。 当 Q=10时, 筒称为 "增 /偏十数"。 该数采用全一码及正负码编码, 采用定码长来展示。
算盘中的数字工程方法, 采用前述第一种步驟。 特点为
< 1〉在加法运算时, 依加法口诀执行。 设该加数的某位为正数, 则将位 于竖档 7中央的算珠 1 (称为 "中珠" 或 "零珠" ) , 上拨依次紧靠上框 6 (称 为 "上珠,, 或 "正珠" ); 某位为负数时, 则将位于竖档 7 中央的算珠 1 , 下 拨依次紧靠下框 9 (称为 "下珠,, 或 "负珠" )。 布珠及运算照口诀。 和数以 混数数呈现于竖档 7上。 在运算过程中, 当算珠从下位移到中位, 或从中位移 到上位, 则为 "加" ; 反之, 当算珠从上位移到中位, 或从中位移到下位, 则 为 "减" 或 "加" 负值。 运算中可充分运用 "对冲" 及 "划 Q" , 用来提高运 算速度。
运算口诀如下: ①加法、 乘法珠算口诀
一下九上一, 二下八上一 , 三下七上一, 四下六上一, 五下五上一, 六下四上一, 七下三上一 , 八下二上一, 九下一上一, 五下下上一。
(其中: 9=8和 1, 7和 2, 6和 3, 5和 4; 8=7和 1 , 6和 2, 5和 3, 4和
4; 7=6和 1, 5和 2, 4和 3, ; 6=5和 1 , 4和 2, 3和^ 5= 和 1 , 3 ^ 2; 4=3 和 1, 2和 2; 3=2和 1; 2=1和 1; )
②加 "负数" 时:
将上述口诀变为首数为负, "上" 与 "下" 互相替换。 例如, "^上四下一。 这里, 由于口诀与上述 "对称" , 故未增加复杂性。
运算格式如下:
被加数 被减数 部分积 试商 1被除数 部分幂 2 底数( 和 积 商 余数 分幂 、
部分.— 4 ~部分幂 3
<2〉运算中及运算结束时, 常采用 "对冲" 及 "划 Q" 。
< 3 > 当最终结杲需要转换为普通十进制数时, 则照前述转换法则即可: ①该数为正数时, 固定该正数的正数元不变。 ②该正数的负数元采用前 负
数的口诀。 其中, "上" 变为 "转" 即可。 也就是使负数元归 0, 然后替换为 对 Q取补的相应正数元。 ③该数为负数时, 则将该数变号, 即各位变为相反数, 然后再转换;或者,采用与上述口诀对称的相反口诀,转换成各位均为 "下珠"。
增 /偏 Q算盘中, 当 Q=10时, 需要表示 ± 6、 ± 7、 ± 8、 ± 9, 则配以表 示值为二值 {0, 5}或三值 {0, ± 5}中的 5 "转换标示" 10。
增 /偏 Q算盘中, 当 Q=10时, 可以另一种转换方式: 正数时口诀为 "双 推转下一" ; 负数时口诀为 "双推转上一" „ 这里所谓 "双推" , 对负数元是, 以手指一次性同时将 下珠 (负珠)及中珠(零珠)上推一档。 即, 将^ 下珠推为中珠, 同时将全部中珠推为上珠(正珠); 对正数元是, 以手指一次 性同时将^上珠(正珠)及中珠(零珠)下推一档。 即, 将^上珠推为中 珠, 同时将^中珠推为下珠(负珠)。 这里所谓 "转" , 对负数元是将 {0, ± 5}三态的 "转换标示" 设为 5; 对正数元是将 {0, ± 5}三态的 "转换标示"设 为 这里所谓 "上下一" , 与前述口诀中一样, 为将相邻高位上的一只算珠 上推一档或下推一档。
具体说, 这另一种转换方式为: ①当需转换的混数进制数, 首位为正时, 表示该数为正数。 这时将该数中的负数元归 0; 然后, 替换为此负数元的绝对 值对 Q取补的相应正数元;再在相邻高位下一。 当 Q=10时, 即对此负数元 "双 推转下一" 。 ②当需转换的混数进制数, 首位为负时, 表示该数为负数。 这时 将该数中的正数元归 0; 然后, 替换为此正数 Q取补的相应负数元; 再在 相邻高位上一。 当 Q=10时, 即对此正数元 "双推转上一" 。 ③这样转换结果 即为所求 {十}数。 相应该数是正数时, 全部算珠为上珠和中珠, 同时配以 {0, 5} 转换标示; 相应该数是负数时, ^算珠为下珠和中珠, 同时配以 {0, }转换 标示; 相应该数是 0时, 全部算珠为中珠, 同时配以 {0}转换标示。
需要指出的是,对于偏 Q算盘中的偏十算盘,则上述^运算中不使用 "负
5" 。
图 3为正三角柱体 "转换标示" 10。 其中心有孔, 贯穿在横轴上可转动。 正三角柱体的三面可以不同颜色来表示 {0, ± 5 }。 当需要把运算结果混十进 制数转换为普通十进制数时, 以此作为 { 0, ± 5}的 "转换标示" 。 第三部分 增 Q进制及全一码
1.增 Q进制
1.1 定义
在一个 Q进制数制中,凡 P > Q的进制,特别是 P = Q+1>Q的进制,称为 "增 强 Q进制"。 Q为自然数。 筒称为 "增 Q进制" 。 其中, 含 0整数段、 不对称 增 Q进制称为 "含 0不对称增 Q进制" 。
增 Q进制中, 当 Q = l时, 即为 "增一进制" 。 增一进制中, 主要有二种。 其一是 {0, 1}一进制, 它可表示 非负整数。 其元器件为二态器件。 其二 是 {T, 1}一进制, 它可表示全部整数。 其元器件亦为二态器件。 本文下面所 称 "增一进制" ,除特别注明外, 均指 {0, 1}—进制。
1.2 {0, 1}一进制与 {Q}的关系。
1.2.1 {0, 1}—进制数与 {Q}数的转换法。
{0, 1}—进制数转换成 {Q}数, 可以将 {0, 1}—进制数中的各位数字 1, 以 {Q}计数即可。 所得 {Q>计数和, 即为相应的 {Q}数。 这就是说, {0, 1}一进制数中有几个 1, 则相应的 {Q}数即为几。 显然, 这是十分筒单的法则 (见表二); {Q}数转换成 {0, 1}一进制数, 可将 {Q}数各位均乘以各位上的 权, 然后将这些积以同样个数的 1, 分别在所要表达的 {0, 1}—进制数位置上, 以不重复的方式列出即可。 这就是说, {Q}数为几, 则 {0, 1}一进制数中就 有几个 1。 显然, 这也是十分简单的法则。 (见表三)
1.2.2 {0, 1}一进制数与 {Q}数对照粗其说明
¾1} {0.1}
一进制 (二 }{+} (十 Κ二 } 一进制
咖 0 0
001 ί 1 0 000 ϋ' -οοοοοϋοο = ό = 0
C10 1 1 1 001 "00000001 = L = 10
011 10 2 2 010 0· "Οΰθθΰθΐι = 11= 110= 101=1010=-
100 1 1 3 011 "ο麵 m = ι=ιιιί ιίπ=ιι(·):ιό
101 10 1 4 100 0- ■-00001111
no 10 2 5 101 ο' "00011111 = 111]1=1ΠΠ6=11Π0ΐ=111ΐ"θ10=-
111 11 3 6 110 "00111111 = 111111=1Π1110=1111101=11111ΰΐ6="'
: : 7 111 ϋ' -01111111 = ιπιιη=ιιιιιιι6=ιιιιιιόι=ιιιιιιιο=^
说明: ① {0, 1}一进制数可表示 (Q>数
②有较多的重复数, 以 4位 {0, 1}—进制数为例, 除 0及 4唯一外, 其余 均有重复数。 其中, 1有 4个; 2有 6个; 3有 4个。 于是, 从 0~4的重复数 分别为 1, 4, 6, 4, 1个。 这与二项式展开系数 CKn是一致的。 位数 n为自 然数, K为 0~n。
③表中 ό表示形式为 "连续非负整数个 ο" 的全体的缩写。 即 "ir , 可为
0个 0, 可为 1个 0, 可为 00, 可为 000, …等形式。 这种形式表示的集合, 称 为 "连集" 。 显然, "连集" 为无限集。 设 E为整数, 则 έ为 E的 "连集" , 筒称为 "连 Ε" 。 读作 "Ε点,, 。 以 "连集" 形式表示的一组无穷个数, 称为 "连集数组" 或 "连集组数" 。
1.2.3 {0, 1}一进制与 {Q}关系分析。
( 1 ) Q〕 1,Q为自然数; 1为最小的自然数, 也是最基本的自然数单元。
Q真包含 1, 这使得相应的 {Q}与 {0, 1}—进制之间存在自然的联系。
( 2 ) {Q}数与 {0, 1}一进制数的关系是 "一多对应" 关系, 而不是 "一 一对应" 关系。 {0, 1}一进制中? = <)+1 Q, 因而在该数制中, 自然数有时会 出现多种形态表达, 这正是该数制灵活性所在。 也可以说, {0, 1}一进制是以 多样性来换取了灵活性。 {(?}中? = 0, 因而在该类数中, 自然 连续唯一形 态表达。 它没有这种多样性, 也缺少了这种相应的灵活性。
( 3 ) {0, 1}一进制数转换为 {Q}数, 只能化为相应唯一的一个数。 这是 因为, {0, 1}一进制数可经 {Q>数加減直接获得, 而 {Q}妙减运算后的结 果是唯一的。 反之, {Q}数也只能化为相应唯一的一组 {0, 1}一进制 "连集 组数" 。 所以, 这种 {Q }数的 "一" 与 {0, 1}—进制 "连集组数" 的 "一" 组, 二者是 "一一对应" 关系。 由此, 可建立一种 {0, 1}—进制数与 {Q }数 的互为映射关系。 对于运算系统来说, {Q}与 {0, 1}—进制数系统 "同构" 。 相应 {Q}数的各种基^算性质, 亦在 {0, 1}一进制数系统中成立。
1.3 {0, 1}一进制的应用
{0, 1}一进制由于以么元 1配以 0构造数, 而且权为 1, 故其 "运算" 常 以 "传送" 来实现。 这是 {0, 1}一进制数运算快速原因之一。 {0, 1}一进制数 运算中的 "进位" , 也以二数当前位的按位加和为 0, 而进位为 Q的 "划 Q" 逻辑实现。这种 "传送"及 "划 Q"的逻辑实现, 结构筒单,速度却快。这是 {0, 1}一进制数运算快速原因之二。 当 {0, 1}—进制数与各种混数进制数结合运算 时, 又补充了 "对冲" 这一结构更为筒单、 速度更为快速的逻辑。 这是 {0, 1} 一进制数运算快速原因之三。
上述 {0, 1}—进制与各种混数进制相结合, 使得功能更加增强。 考虑到 {0, 1}一进制" { Q} ~>各种混数进制, 这其中有着内在的联系。 显然, 这一切均 在预料之中。
2.全一进制及全一编码
2.1全一进制和全一数
{0, 1}一进制数的多样性就获得了多样处理的灵活性。 但是, 由于 {0, 1} 一进制数 "连集" 形式有且仅有一种 " " ; 而且具有极端的多样, 在同一个 数中可出现一次以上的 "连集" 形式。 由此造成同一个数的形式过于多样, 难 以把握, 不便于控制, 势必增加设备并且影响运算速度。 因此, 在一般情况下, 有必要对 {0, 1}—进制数加以某种约束条件。 这就产生了 "全一进制" 。
在 {0, 1}—进制的正整数中, 限定每一组 "连集组数" 只选取自个位开始, 从右向左连续排列么元 1 的唯一的一种形态表达; 高位上均为 0, 或以空位表 示。 例如: {十}数 3 ={0, 1}—进制数 Ι11/Ι1ΐί)/1101Λ.. ( "/,,表 "或者" ), 限定为 {十} 3 = {0, 1}一进制 111。 这样, 每一组 "连集组数" 中的重复数均 被删除, 只剩下一个全是 1 的唯一形态 , 我们称为 "全一数" 。 表达 "全一 数" 的进制称之为 "全一进制" 。 表三中, {0, 1}一进制数最左边的形态, 即为 "全一进制" 数。 因此, "全一进制" 可以是加特定约束条件的 {0, 1}—进制。
在《数制理论 SZLL》的 "位值制数制" 中, 定义数中的空位表示具有隐 含的 "空位 0"; 在其数元集中, "空位"是一种特殊的数元, 称为 "空位元" 。 筒称为 "空元" 。 因此, "全一进制" 可以从不含 0普通 Q进制 {不含 0, Q} 中的 {1}一进制获得; 故可以定义 "全一进制"为 {1}一进制, 以符号 示。 当考虑到正负整数时, 可以将该全一进制数的正负符号, 分配到该数的 上 去, 从而构造各位均带相同符号的全一进制数。 本发明中除特别注明外, 均指 此种 "全一进制" , 亦以符号 {一}来表示。
"全一进制" 也可以从不含 0混 Q进制 {不含 0 , Q*}中的 "{! , 1}一进 制" , 加约束条件获得。 约束条件为该进制数, 必须各位上符号均相同; 还可 以从不含 0增一进制中的 "{T , 1}一进制" , 加上述同样约束 获得; 此外, 还可以从其它混数进制获得。
2.2全一码
全一进制显然具有如下优缺点。优点: ①运算速度快。 "传送"代替了 "翻 转" 。 ②多重运算时, 不需要二二求和, 只需要先 "对冲" 后 "划 Q" 即可得 结果。 这就大大加快了总体运算速度。 ③与 {Q}转换方便; 缺点: ① "字长" 太长, 位数多。 (当取可变字长时, 其平均字长仅为一半。 ) ②荷载信息量 较小。 因此, 根据全一进制的优缺点, 扬长避短, 以全一进制数来编码各种混 数进制数是合适的。 以 "全一进制" 数来编码, 称为 "全一编码" 。 "全一编 码" 中采用的 "全一数" , 称为 "全一码" 。 全一码一位编码的 {二}数, 即
为 {二}数本身。 全一码九位编码的 {十}数, 码长增加至 9倍。 (当取可变 码长时, 其平均码长仅为 5倍。 )例如: {十} 23 =全一码 =≡。
2.3全一码的计算。
全一码的计算非常筒单。 n个数加法仅为 n个数中 1或 T的不重复排列, 称为 "排 1" 。 以二数加法为例, 如 11+111=11111。 特别是, 在各种混数进制 的数字工程中, 仅仅只需先 "对冲" 后 "划 Q" , 就能获得各种混数进制数的 运算结果。 当最终结果需要输出时, 才将以全一码编码的各种混数进制数, 转 换成 { Q }或 {十}数输出。
2.4全一码的应用。
全一码主要应用于对 {Q }数及各种混数进制数进行编码。 特別是,
①采用全一码九位编码 {十}数, 可以实现普通十进制 {十}、 全一码、 进位行处理器和笔算工程及算盘。
②采用全一码九位编码 {十* }数, 可以实现混十进制 {十3、 全一码、 进位行处理器和笔算工程及算盘。
③釆用全一码编码各种混数进制数, 可以实现各种混数进制、 全一码、 进 位行处理器和笔算工程及算盘。 第四部分 正 负 码
以正数、 负数或正数、 0、 负数的 "正负数对" , 来对数制的数元进行编 码的方法, 称为 "正负码编码" 。 相应的码称为 "正负码" 。 {Q* }中 时, {十*}数元人为构造如下正负码。 即, 将混十进制数的数元 s, 以三个特 定值之和来编码。 其中例如, 一位正值, 一位 0值, 一位负值。 设, s为 {十 } 整数, r={十 }0, 1, 2, 3, 4, 5; {QA}/ {Q' }中 Q = 10时, {十 / {十, } 数元人为构造如下正负码。 即, 将增 /偏十进制数的数元 s, 以三个特定值之和 来编码。 其中例如, 一位正值, 一位 0值, 一位负值。 设, s为 Η" Δ}/ {十, } 整数, r ={-h}0, 1, 2。 则有
采用正负码编码的优点: 原数与正负码是 " 一多对应" 关系。 由此产生 了新的重复数, 增强了数据表达形式的多样性; 而且可充分运用 "对冲" , 从 而提高了运算速度。
采用正负码编码的缺点: 正负码编码二位或三位, 使操作的复杂性增加。 因而, 它仅适用于算盘; 在电子计算机及笔算工程中, 不宜采用。