gpt4 book ai didi

c - c语言中如何存储超过9位的数字?

转载 作者:行者123 更新时间:2023-11-30 21:30:16 24 4
gpt4 key购买 nike

当我上网时,我使用了以下类型定义编码。我想这可能有效。但是,我无法理解代码。你能解释一下下面的编码吗:

    #define RADIX (10)
#define DIGIT_BIT (4) /* A better way than hardcoding 4? */
#define DIGIT_PER_BYTE (CHAR_BIT/DIGIT_BIT)
#define DIGIT_BIT_MASK (~(UINT_MAX << DIGIT_BIT))
typedef struct ThirteenDigitNum
{
char unsigned digits[13/DIGIT_PER_BYTE + !!(13%DIGIT_PER_BYTE)];
} ThirteenDigitNum;
typdef struct DigitAccessInfo
{
unsigned byte_index;
unsigned shift_by;
unsigned mask;
};

是否有任何内置数据类型可以满足我的需求?

最佳答案

看起来 long long int 可以使用 C++ 标准为您提供超过 18 位数字(并且,根据下面的评论,也可以使用 C)。

http://www.cplusplus.com/reference/climits/

关于c - c语言中如何存储超过9位的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26975887/

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