这种类型数据是什么意思?

时间:2014-03-31 11:06:44

标签: c

我在代码程序中看到了这种类型的数据。但我不知道这种类型的数据。这类数据的含义是什么?

(uint16_t)~0U

3 个答案:

答案 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);
   }