在 ruby 中从十六进制转换为十进制
Conversion from hex to decimal in ruby
0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFE_FFFFFC2F.ord
=> 115792089237316195423570985008687907853269984665640564039457584007908834671663
0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFE_FFFFFC2F.to_i
=> 115792089237316195423570985008687907853269984665640564039457584007908834671663
有人可以解释一下为什么这两种方法 return 具有相同的整数值吗?
我不确定我是否理解方法顺序...
Returns the codepoint of the first character of the string, assuming a single-byte character encoding"
我发现了,但是这里我得到了一个十六进制值,然后我使用了该方法然后得到了一个十进制值,所以 "What the hex?" :D
PS:确定是十进制值还是我错了?
您引用了 String#ord
并且在这里您在 Integer
上调用了 #ord
- 这个值不是十进制,也不是字符串,而是整数。
ord → self
Returns the int
itself.
97.ord #=> 97
This method is intended for compatibility to character literals in Ruby 1.9.
0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFE_FFFFFC2F.ord
=> 115792089237316195423570985008687907853269984665640564039457584007908834671663
0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFE_FFFFFC2F.to_i
=> 115792089237316195423570985008687907853269984665640564039457584007908834671663
有人可以解释一下为什么这两种方法 return 具有相同的整数值吗? 我不确定我是否理解方法顺序...
Returns the codepoint of the first character of the string, assuming a single-byte character encoding"
我发现了,但是这里我得到了一个十六进制值,然后我使用了该方法然后得到了一个十进制值,所以 "What the hex?" :D
PS:确定是十进制值还是我错了?
您引用了 String#ord
并且在这里您在 Integer
上调用了 #ord
- 这个值不是十进制,也不是字符串,而是整数。
ord → self
Returns the
int
itself.97.ord #=> 97 This method is intended for compatibility to character literals in Ruby 1.9.