julia-lang – 为什么typeof十六进制或二进制数Uint64而十进制数的类型是Int64?

julia> typeof(-0b111)
Uint64

julia> typeof(-0x7)
Uint64

julia> typeof(-7)
Int64

我发现这个结果有点令人惊讶.为什么数字的数字基数确定了签名或未签名?

最佳答案
看起来这是预期的行为:

This behavior is based on the observation that when one uses unsigned
hex literals for integer values, one typically is using them to
represent a fixed numeric byte sequence, rather than just an integer
value.

http://docs.julialang.org/en/latest/manual/integers-and-floating-point-numbers/#integers

……似乎有点奇怪的选择.

转载注明原文:julia-lang – 为什么typeof十六进制或二进制数Uint64而十进制数的类型是Int64? - 代码日志