当无符号/有符号长整型a是可能的为什么无符号/有符号长浮点/双a不可能?
为什么我在声明中为后者而不是前者得到了太多类型的错误?
有三种浮点类型:float
、double
和long double
。这些都没有无符号的等价项,因此将signed
或unsigned
放在它们前面是无效的。没有long float
这样的类型。
您收到该消息是因为存在长双精度,但不存在无符号长双精度。unsigned也可以被解释为int,因此在后一个声明中有两种类型:unsigned和long double。我不相信C++中存在长浮点。
这是因为第一个(long int
)是文档化的变量类型,而第二个不是。
C++语言支持的数据类型有:
char
unsigned char
signed char
int
unsigned int
signed int
short int
unsigned short int
signed short int
long int
signed long int
unsigned long int
float
double
long double