左零数有奇怪的结果
Left zero number has weird results
我正在尝试对数字进行求和,得到一个最左边为零的数字
并开始获得有线结果
142 + 3 = 145
但是0142 + 3 = 101
ruby 的基数数据类型是什么? (我正在使用 repl 2.6.3)
这包含在 Ruby 的“Numbers”文档中:
You can use a special prefix to write numbers in decimal, hexadecimal, octal or binary formats. For decimal numbers use a prefix of 0d
, for hexadecimal numbers use a prefix of 0x
, for octal numbers use a prefix of 0
or 0o
, for binary numbers use a prefix of 0b
. The alphabetic component of the number is not case-sensitive.
对此进行冥想:
0d170 # => 170
0D170 # => 170
0xaa # => 170
0xAa # => 170
0xAA # => 170
0Xaa # => 170
0XAa # => 170
0XaA # => 170
0252 # => 170
0o252 # => 170
0O252 # => 170
0b10101010 # => 170
0B10101010 # => 170
这在编程语言中很常见。
如果数基的概念是外国的,那么这些可能会有所帮助:
我正在尝试对数字进行求和,得到一个最左边为零的数字 并开始获得有线结果
142 + 3 = 145
但是0142 + 3 = 101
ruby 的基数数据类型是什么? (我正在使用 repl 2.6.3)
这包含在 Ruby 的“Numbers”文档中:
You can use a special prefix to write numbers in decimal, hexadecimal, octal or binary formats. For decimal numbers use a prefix of
0d
, for hexadecimal numbers use a prefix of0x
, for octal numbers use a prefix of0
or0o
, for binary numbers use a prefix of0b
. The alphabetic component of the number is not case-sensitive.
对此进行冥想:
0d170 # => 170
0D170 # => 170
0xaa # => 170
0xAa # => 170
0xAA # => 170
0Xaa # => 170
0XAa # => 170
0XaA # => 170
0252 # => 170
0o252 # => 170
0O252 # => 170
0b10101010 # => 170
0B10101010 # => 170
这在编程语言中很常见。
如果数基的概念是外国的,那么这些可能会有所帮助: