我在代码程序中看到了这种类型的数据。但我不知道这种类型的数据。这类数据的含义是什么?
(uint16_t)~0U
答案 0 :(得分:4)
(uint16_t) ~ 0 U
^ ^ ^ ^
| | | |____ unsigned constant
| | |______ the number 0
| |________ bitwise not operator
|______________ casting to 16 bits integer
结果你得到一个0xffff
答案 1 :(得分:0)
uint16_t 只是一个16位无符号整数。
typedef unsigned int uint16_t
在int
是16位整数的平台上。
答案 2 :(得分:0)
(uint16_t)~0U
uint16_t
中的{p> c/c++
是16位无符号整数,此处用于转换为它。
~0
表示它正在翻转000000000至1111111111
U
是无符号常量
您可以在以下示例中看到如何使用它:
static T lanczos_sum(const T& z)
{
static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint16_t) denom[6] = {
static_cast<boost::uint16_t>(0u),
static_cast<boost::uint16_t>(24u),
static_cast<boost::uint16_t>(50u),
static_cast<boost::uint16_t>(35u),
static_cast<boost::uint16_t>(10u),
static_cast<boost::uint16_t>(1u)
};
return boost::math::tools::evaluate_rational(num, denom, z);
}