在Perl中执行base36算术的最佳方法是什么?
更具体地说,我需要执行以下操作:
N是有限的,例如9
我不太在乎解决方案是蛮力地“转换为base 10并返回”还是转换为二进制,还是“本地”执行baseN操作的更优雅的方法(如上所述,向/从base10转换不是需求)。我唯一的三个注意事项是:
我宁愿用一些常用的CPAN解决方案代替它,而不是从头开始重写我自己的自行车,但是如果没有更好的标准可能性,我完全有能力制造它。
附言只是为了提供一些背景信息,以防人们除了回答上述技术问题外,还决定为我解决XY问题:)
我们有一棵相当大的树(作为边缘存储在数据库中),我们需要在该树的子集上叠加顺序。树木的尺寸在深度和宽度上都很大。该树非常活跃地被更新(插入和删除以及分支移动)。
目前,这是通过使用第二个表(包含3列)完成的:
parent_vertex, child_vertex, local_order
,其中local_order
是由A-Z0-9(例如,基数为36的数字)组成的9个字符的字符串。其他注意事项:
最佳答案
那Math::Base36呢?