标签:一个 min cpp block 运算符 报错 头文件 signed 表示
long long 类型的数据占用8个字节(64位),取值范围为 -9223372036854775808~9223372036854775807( -2^63 ~ 2^63-1 )
unsigned long long 也占用8个字节,取值范围为0 ~ 18446744073709551615 ( 0 ~ 2^64 - 1 )
在VS2015中,如果定义 long long a = -9223372036854775808 会报错:
错误 C4146 一元负运算符应用于无符号类型,结果仍为无符号类型
因为在头文件 limit.h中定义了 INT_MAX,LONG_MAX,LLONG_MAX,long long a = -9223372036854775808会认为对long long 型数据进行一个一元运算,而LLONG_MAX = 9223372036854775807,所以会溢出,可以直接定义 unsigned long long = LLONG_MIN。
在使用常量时,可以在后面加上LL(或ll,不分大小写)用来表示该数是一个long long类型的数,例
long long a = 100ll unsigned long long a= 10uLL
标签:一个 min cpp block 运算符 报错 头文件 signed 表示
原文地址:https://www.cnblogs.com/dlutjwh/p/10682744.html