2

---+ 简介

你怎么称呼包含多个小数的编号系统?

而且,你能指出任何操纵这种多十进制字符串的标准库吗?

例如

1
1.1
...
4.1
4.1.1
...
4.1.77
...
167.966.451.8787.0.1771.88 ...

我经常将其称为杜威十进制编号系统,但四处逛逛我发现杜威十进制分类是一个专有系统。

另一个候选名称可能是“树节点编号”,具有“所有事物的根”和对应于任何链接的第 i 个子节点的数字。

这种编号是否有任何广泛使用的术语?

---+ 迄今为止最好的

---++迄今为止最好的名字

迄今为止发现的最佳名称是(恕我直言):

---++ 迄今为止最好的代码

有相当多的库处理版本号,但大多数都有愚蠢的硬连线限制,比如major.minor.path。

当我得到一个好的参考时,我会填写这个。

我已经用几种语言多次编写过这样的库——但当我换雇主时,通常不得不把它们抛在脑后。

---+ 详情

我经常发现自己在创建包含多个小数的编号方案,例如 56.23.8.99。

我把这些叫做“杜威十进制数”已经很久了,可能是因为我第一次在图书馆遇到这些。但是另一个人有时会反对,指出杜威十进分类是一个专有系统。如果他们看到一个 class Dewey_Decimal_Number,他们会认为它是特定于图书馆的,并且惊讶地看到我将它用于其他事情,其数字与官方的杜威十进制编号方案完全不同。

即我正在寻找一个通用名称,其中包括我们一遍又一遍遇到的这种多十进制编号方案的特定实例:

---++ 代码设计注意事项

长度、组件数量等没有限制。

我不在乎分隔符是句号还是其他东西。例如 5.29.6 和 5/29/6 与可排序组件的向量几乎同构,

嗯...,也许我应该称它为“路径名编号”,这归功于 UNIX 分层文件系统。

就此而言,在许多用例中,我不一定关心组件是数字。

通常,我会进行排序等操作。1 < 1.1 < 1.10 < 2.

... 字符串 cmp 或数字 <=> ?

更罕见的是,我会执行“允许这样做吗?”之类的操作。例如

allowed_as_neighbors(1, 1.1)=>true
allowed_as_neighbors(1, 2)=>true
allowed_as_neighbors(1.1, 2)=>true
allowed_as_neighbors(1, 1.2)=>false, since canonically need a 1.1 in between
allowed_as_neighbors(1, 1.1.1)=>false, since need a 1.1 in between

通常,我将更人性化的可变长度多十进制编号转换为更易于操作的固定位宽,例如 32 位或 64 位或 128 位。

这可以嵌套:1.a/b/c.2,其中组件是(1, a/b/c, 2),并且a/b/c本身就是一个多分量向量(a, b, c)。即分隔符可能具有结合强度或优先级。

---+ 结论

Like I said, I am not looking for code on this question - I am just looking for some hopefully common name for this sort of thing.

(Actually, I am looking for code. I had written such libraries many times (and left them behind when I changed jobs). If there are any standard libraries for this, I'd like to know. If not, I'd like a good name for my libraries.)


4

1 回答 1

1

I also found d'Aboville to be suitable, but it is genealogy specific and so raises such association.

Similar schemes pop up in all kinds of fields, ranging from circuits to power-plants to typography...

Perhaps the most generically sounding is Decimal outline. It is a kind of an Outline, used in writing

An outline, also called a hierarchical outline, is a list arranged to show hierarchical relationships and is a type of tree structure. It is used[1] to present the main points or topics of a given subject, often used as a draft or summary of the content of a document.

The first sentence is a perfect description for any such structure, I think. The second sentence is a bit suspect (specific), and the reference above is to the "Chicago Manual of Style."

The "Decimal outline" has the desired appearance, even though it refers to a document structure. Perhaps you can derive a name from it more generally referring to the decimal notation marking a hierarchical (tree) structure.


一个不太具体的术语是十进制表示法,在数学中用于比数字中的常见分隔符更通用的目的。例如,论文中的一个开场白

十进制表示法满足许多简单的数学性质。它是分析树木的有用工具。

另一个相当通用的术语是点十进制表示法

点十进制表示法是数字数据的一种表示格式。它由一串十进制数字组成,每一对由句号(点)分隔。

这篇简短的文章是关于 IPv4 地址的,但该术语似乎更笼统。


至于图书馆,搜索与 IP 地址相关的图书馆可能会有所帮助。

于 2017-02-21T21:59:14.983 回答