なぜstd::numeric_limits<Any Int Type>::digits10
はそれより少ないのでしょうか?int型のstd :: numeric_limits :: digits10が1つ少ないのはなぜですか?
たとえば、std::numeric_limits<int8_t>::digits10 == 2
ですが、100
は3桁で構成されています。
またはstd::numeric_limits<int64_t>::digits10 == 18
ですが、INT64_MAX(9'223'372'036'854'775'807
)は19桁で構成されています。
[cppreference](http://en.cppreference.com/w/cppがあるのでint8_tが2桁の数字であることを意味/ types/numeric_limits/digits10)は次のように言っています: "この10進数の数字はすべて、その型で保持できます"。 999は 'int8_t'で表現できないので、答えは3になることはできません。 –
@KerrekSB Ha、得ました。ありがとう! – vladon