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 组的另一工具类