78进13,就是把一个以78为底数表示的数,换算成以13为底数表示。核心方法是先按位权展开,求出十进制值,再将整数部分反复除以13取余;例如,2A₇₈ = CA₁₃。换算结果取决于输入数字的表示约定,下面先固定字符口径,再给出公式、步骤和计算实例。
先确定78进制数字口径
进制数中的每一位都对应一个数值,数值必须小于该进制的底数。本文采用以下字符约定:0—9分别表示数值0—9,A—Z分别表示10—35,a—z分别表示36—61;数值62—77写作{62}至{77}。因此,78进制中的A代表10,a代表36,大小写不能混用。13进制则使用0—9和A、B、C,分别表示0—12。
例如,78进制的2A表示两位数:左边的2是78的二次方位,右边的A是个位。输入中每一位都要按上述口径解释;如果某一位的数值达到78或更大,它就不是有效的78进制数字。
78进13换算公式
设78进制整数从左到右写作dndn-1…d1d0,每个di代表该位的数值,则先展开成十进制:
N = dn×78n + dn-1×78n-1 + … + d1×78 + d0
得到N后,连续用13除N。每次记录余数,直到商为0;把余数从最后一次到第一次倒序排列,再将10、11、12分别换成A、B、C,即为13进制结果。若输入带小数点,整数部分仍用除法,小数部分则反复乘以13,每次取乘积的整数位作为下一位。
计算步骤与换算结果
- 读取位值:将输入中的每个字符转换为对应数值,并从最右一位开始标记位权。
- 展开求和:每位数值乘以对应的78次幂,所有乘积相加,得到十进制中间值。
- 除以13取余:记录每轮余数并继续处理商,直到商为0。
- 倒序并换字符:余数倒序排列,余数10—12写作A—C,形成最终结果。
示例:2A₇₈转成13进制
按字符口径,A=10。先计算十进制值:2×78+10=166。接着连续除以13:
| 计算 | 商 | 余数 |
|---|---|---|
| 166÷13 | 12 | 10(A) |
| 12÷13 | 0 | 12(C) |
从下往上读取余数,得到CA,因此2A₇₈ = CA₁₃。校验时,CA₁₃=12×13+10=166,与前面的十进制展开结果相同。
另外两个快速校验例子
| 78进制输入 | 十进制计算 | 13进制结果 |
|---|---|---|
| 10₇₈ | 1×78+0=78 | 60₁₃ |
| 100₇₈ | 1×78²=6084 | 299₁₃ |
其中,60₁₃=6×13=78;299₁₃=2×13²+9×13+9=6084。转换后再按13进制位权展开,能够直接检查余数是否倒序正确,也能发现字符值或位权写错的问题。
小数与负数怎么处理
若78进制输入包含小数点,点左侧按整数公式计算,点右侧第1位乘以78-1,第2位乘以78-2,依次相加。例如,d1d0.e1可展开为d1×78+d0+e1÷78。得到十进制小数后,将小数部分乘13,取整数部分作为13进制小数的下一位,再对剩余小数重复操作;结果可能出现循环小数。
负数先对绝对值执行相同换算,最后在结果前保留负号。实际手算或录入计算器时,最容易出错的是把A误当成0、混淆A与a,或把余数按正序拼接。只要字符口径统一、除法余数倒序读取,78进13的计算结果即可按公式复核。
