gpt4 book ai didi

C++:数字与位?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:17:58 24 4
gpt4 key购买 nike

我试图理解 C++ 语言中数字和位之间使用的词汇的区别,如:

CHAR_BIT;
std::numeric_limits<char>::digits;

概念上有区别吗?也许对于奇怪的架构?如果是这样,std::bitsetoperator[] 的结果将被称为什么。它允许访问位还是数字?

并且当前的 boost 文档没有帮助:cppint提供了带有 Digits 的代码,但文档提到了 Bits (这显然是文档的问题,但我不知道文本或代码是否更新。 )

最佳答案

来自 this std::numeric_limits::digits reference :

The value of std::numeric_limits::digits is the number of digits in base-radix that can be represented by the type T without change. For integer types, this is the number of bits not counting the sign bit.

然后它声明对于 char结果是 CHAR_BIT - std::numeric_limits<char>::is_signed .

并且来自 C numeric limits reference :

CHAR_BIT number of bits in byte

所以对于普通的现代计算机,char是八位,那么CHAR_BITS等于8digits函数将返回 78取决于是否 char是否签名。

我同意在获取整数类型的位数时使用“数字”这个词有点令人困惑,但它对浮点类型更有意义:

For floating-point types, this is the number of digits in the mantissa.


std::bitset 是一组,因此索引运算符将为您提供集合中选定的

关于C++:数字与位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30756915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com