当我浏览互联网时,我出了以下类型定义编码。我认为这可能有用。但是,我无法理解编码。你能解释一下以下编码:
#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;
};
是否有任何内置数据类型可满足我的需求?
答案 0 :(得分:0)
看起来long long int使用C ++标准为您提供超过18位数字(以及下面的评论,C也是如此)。