什么样的数据类型是“long long”?

问题描述:

我不知道这种类型。这是所有人中最大的一个吗?我认为这是一个整数类型,对吧?或者它是一个浮点事物?大于双倍?什么样的数据类型是“long long”?

它是一个整数,至少与long一样大。

+0

为什么“漫长”?它长到多长? – openfrog 2010-01-24 15:12:50

+2

@openfrog no - C标准规定长整数必须至少与长整数一样大,但除此之外不会说明任何其他内容 - 理论上长整数可能是128位数或256位数 - 它是所有实现相关的 – Cromulent 2010-01-24 15:27:51

+20

'long long'必须至少为64位 – 2010-01-24 16:04:24

它是在大多数64位平台64位整数

Wikipedia

long long是整数数据类型,通常是4或8个字节宽取决于平台。更多信息wikipedia

+1

C99和C11表示'long long'至少是64位。 – domen 2016-10-07 08:08:17

根据C99标准,long long是一个至少为64位宽的整数类型。有两个整数64位类型指定:long long intunsigned long long int

所以,是的,这是C语言标准(C99版本)指定的最大整数类型。

还有由C99指定的long double类型。它是一种扩展的精确浮点数字数据类型,适用于大多数流行的基于x86的平台上的80位和C语言的实现。

+0

在某些情况下,“long double”也可能表示(非常需要)[128位四精度浮点类型](https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format)。 C类型并保持史诗般的“不假设,因为多灵活性”可笑的混乱。 – 2017-06-29 23:08:48

+0

@八月卡尔斯特罗姆其实好点。纠正。谢谢 – mloskot 2018-02-14 19:24:21

简而言之,long long是至少64位宽的int。长(嘿​​嘿)理由是here。基本上,它是对64位体系结构和向后兼容性的响应。并且标准委员会认为long long的所有可能性都是最差的