十进制数字自然数的语义
Semantics of Decimal Digit Natural Numerals
下面的例子是在一本关于软件工程的书中。我无法理解这种态射如何将十进制数字转换为等效的自然数。它不只是将所有数字相加吗?
设0,1,2,3,4,5,6,7,8,9"somehow be"自然数从左到右分别对应小数位零、一、二、三、四、五、六、七、八、九;然后
type
<NatNum> ::= <DecDig> | <DecDig> <NatNum>
<DecDig> ::= zero | one | two | three | ... | nine
value
M: <NatNum> -> Num
M(d,n)≡10*M(d)+M(n)
M(d)≡case d of zero->0,one->1,...,nine->9 end
非正式地解释自然数数字的含义
态射区分只是小数的自然数和小数与自然数的复合自然数。感谢您的帮助。
这实际上是:
n = 0
for digit in number:
n = n * 10
n = n + digit
return n
下面的例子是在一本关于软件工程的书中。我无法理解这种态射如何将十进制数字转换为等效的自然数。它不只是将所有数字相加吗?
设0,1,2,3,4,5,6,7,8,9"somehow be"自然数从左到右分别对应小数位零、一、二、三、四、五、六、七、八、九;然后
type
<NatNum> ::= <DecDig> | <DecDig> <NatNum>
<DecDig> ::= zero | one | two | three | ... | nine
value
M: <NatNum> -> Num
M(d,n)≡10*M(d)+M(n)
M(d)≡case d of zero->0,one->1,...,nine->9 end
非正式地解释自然数数字的含义
态射区分只是小数的自然数和小数与自然数的复合自然数。感谢您的帮助。
这实际上是:
n = 0
for digit in number:
n = n * 10
n = n + digit
return n