Dozenal
基本信息
| 属性 | 值 |
|---|---|
| 类名 | mantle.math.Dozenal |
| 类型 | class,5 个 public 方法 |
| 源码规模 | 77 行 |
| 作者 | mDiyo |
| 启用版本 | 1.7.10 |
功能
十二进制(dozenal)数字转换:把十进制整数转成 base-12 表示,
10 → 'X'(Dec)、11 → 'E'(El)。作者 mDiyo(Slime Knights 成员)。
实现要点
- 3 个
convertToDozenal重载(byte/short/int)都只是转发到convertDecimal(int),且都标了@SuppressWarnings("unused")——全仓没有调用方。 - ⚠️ 缺陷:
convertDecimal(int)丢掉了最低位。 第 38 行for (int iter = list.size() - 1; iter > 0; iter--)的循环条件是iter > 0, 因此list.get(0)(即最低有效位)永远不会被 append。 实测:convertDecimal(12)返回"1"(正确应为"10");convertDecimal(1)返回""(正确应为"1")。 - ⚠️
convertDecimal(0):while (num > 0)一次都不进,list为空 → 返回""(合理,但与上一条同源)。 getDozenalCharacter(int i)(第 44 行)用assert i < 12做范围检查——assert 默认关闭, 越界时 switch 落空会走到方法末尾。- 结论:本类是未完成且未被使用的工具,数值转换结果不可信。
相关条目
- CoreRepo - 同 mod 的常量工具(风格对照)
- CoordTuple - 同 util 组的另一工具类