CHAR_BIT替换

Sil*_*cer 1 c++ c++11 c++14 c++17

CHAR_BIT定义每个字符的位数.但它是一个古老的宏.在最近的C++标准中已经替换了类似的宏.

CHAR_BIT在C++ 11/14/17中是否有更现代的替代品?

Cli*_*ord 8

非符号位的数量由提供std::numeric_limits<T>::digits,因此可以通过以下方式确定:

std::numeric_limits<unsigned char>::digits
Run Code Online (Sandbox Code Playgroud)

请注意使用unsigned限定符以确保没有符号位.