-1的签名字符文本

  • 本文关键字:字符 文本 c++17
  • 更新时间 :
  • 英文 :


我想给一个int8_t变量分配一个特殊值(所有位集(。然而,我得到了CCD_ 1。

int8_t值=0b11111111;

那么我应该如何设置所有位的设置值呢?我应该移到uint8_t吗?

您可以简单地分配-1或使用~0并接受int:的隐式强制转换

int8_t value = -1 ;

int8_t value = ~0 ;

同样,你可以明确表示:

int8_t value = static_cast<int8_t>(-1) ;

int8_t value = static_cast<int8_t>(~0) ;

如果您正在应用静态分析工具,这可能是必需的。

当然,您可以将强制转换应用于二进制初始化程序,但上述方法的优点是,它适用于任何整数类型,而无需对初始化程序中的位进行计数。

相关内容

  • 没有找到相关文章

最新更新