long long
<p>C++11中加入long long 的整型,C++11 标准要求 long long 整型可以在不同平台上有不同的长度,但至少8字节(64位)。long long 整型有两种∶long long 和 unsigned long long</p><pre><code class="language-c++">//long long 对应类型的数值可以使用LL或者ll后缀(推荐用大写LL,l容易和1混淆)
long long num1 = 123456LL;
long long num2 = 123456ll;
//unsigned long long 对应类型的数值可以使用ULL或者ull或者Ull、uLL(等大小写混合均可)后缀
unsigned long long num3 = 112233445566ULL;
unsigned long long num4 = 112233445566ull;
unsigned long long num5 = 112233445566Ull;
unsigned long long num6 = 112233445566uLL;
unsigned long long num7 = 112233445566uLl;
unsigned long long num8 = 112233445566UlL;
</code></pre>
<blockquote>
<p>C++11中与以上两种类型等价的:</p>
<p>long long :</p>
<ul>
<li>long long int</li>
<li>signed long long</li>
<li>signed long long int</li>
</ul>
<p>unsigned long long</p>
<ul>
<li>unsigned long long int</li>
</ul>
</blockquote>
<p>同样的这两种类型也像其他的整型一样有MIN以及MAX的宏</p>
<ul>
<li>LLONG_MIN 最小的long long值</li>
<li>LLONG_MAX 最大的long long</li>
<li>ULLONG_MAX 最大的 unsigned long long 值(最小值是0)</li>
</ul>
<pre><code class="language-C++">#include <iostream>
using namespace std;
int main(){
cout << "LLONG_MIN: " << LLONG_MIN << endl;
cout << "LLONG_MAX: " << LLONG_MAX << endl;
cout << "ULLONG_MAX: " << ULLONG_MAX << endl;
return 0;
}
</code></pre>
<p>输出结果:</p>
<pre><code class="language-C++">LLONG_MIN: -9223372036854775808
LLONG_MAX: 9223372036854775807
ULLONG_MAX: 18446744073709551615
</code></pre>
<p><strong>下面总结一下整型:</strong></p>
<blockquote>
<p>C++提供的是灵活的标准,它确保了最小长度:</p>
<ul>
<li>short至少16位</li>
<li>int至少与short一样长</li>
<li>long至少32位,且至少与int一样长</li>
<li>long long至少64位,且至少与long一样长</li>
</ul>
</blockquote>
<table>
<thead>
<tr>
<th>整型名称</th>
<th>(> 16 位 Windows)占用字节数 <br>[数据范围]</th>
<th>(32 位 Linux)占用字节数 <br>[数据范围]</th>
<th>(64 位 Linux)占用字节数<br>[数据范围]</th>
</tr>
</thead>
<tbody>
<tr>
<td>int(signed 、signed int)</td>
<td>4字节<br>[-2<sup>31</sup>,2<sup>31</sup>-1]<br>INT_MIN=-2147483648<br>INT_MAX=2147483647</td>
<td>4字节<br>[-2<sup>31</sup>,2<sup>31</sup>-1]<br>INT_MIN=-2147483648<br>INT_MAX=2147483647</td>
<td>4字节<br>[-2<sup>31</sup>,2<sup>31</sup>-1]<br>INT_MIN=-2147483648<br>INT_MAX=2147483647</td>
</tr>
<tr>
<td>unsigned int(unsigned)</td>
<td>4字节<br><br>UINT_MAX=4294967295</td>
<td>4字节<br><br>UINT_MAX=4294967295</td>
<td>4字节<br><br>UINT_MAX=4294967295</td>
</tr>
<tr>
<td>short(short int、signed short 、signed short int)</td>
<td>2字节<br>[-2<sup>15</sup>,2<sup>15</sup>-1]<br>SHRT_MIN=-32768<br>SHRT_MAX=32767</td>
<td>2字节<br>[-2<sup>15</sup>,2<sup>15</sup>-1]<br>SHRT_MIN=-32768<br>SHRT_MAX=32767</td>
<td>2字节<br>[-2<sup>15</sup>,2<sup>15</sup>-1]<br>SHRT_MIN=-32768<br>SHRT_MAX=32767</td>
</tr>
<tr>
<td>unsigned short(unsigned short int)</td>
<td>2字节<br><br>USHRT_MAX=65535</td>
<td>2字节<br><br>USHRT_MAX=65535</td>
<td>2字节<br><br>USHRT_MAX=65535</td>
</tr>
<tr>
<td>long(long int、signed long、signed long int)</td>
<td>4字节<br>[-2<sup>31</sup>,2<sup>31</sup>-1]<br>LONG_MIN=-2147483648<br>LONG_MAX=2147483647</td>
<td>4字节<br>[-2<sup>31</sup>,2<sup>31</sup>-1]<br>LONG_MIN=-2147483648<br>LONG_MAX=2147483647</td>
<td>8字节<br>[-2<sup>63</sup>,2<sup>63</sup>-1]<br>LONG_MIN=-9223372036854775808<br>LONG_MAX=9223372036854775807</td>
</tr>
<tr>
<td>unsigned long(unsigned long int)</td>
<td>4字节<br><br>ULONG_MAX=4294967295</td>
<td>4字节<br><br>ULONG_MAX=4294967295</td>
<td>8字节<br><br>ULONG_MAX=18446744073709551615</td>
</tr>
<tr>
<td>long long(long long int、signed long long、signed long long int)</td>
<td>8字节<br>[-2<sup>63</sup>,2<sup>63</sup>-1]<br>LLONG_MIN=-9223372036854775808<br>LLONG_MAX=9223372036854775807</td>
<td>8字节<br>[-2<sup>63</sup>,2<sup>63</sup>-1]<br>LLONG_MIN=-9223372036854775808<br>LLONG_MAX=9223372036854775807</td>
<td>8字节<br>[-2<sup>63</sup>,2<sup>63</sup>-1]<br>LLONG_MIN=-9223372036854775808<br>LLONG_MAX=9223372036854775807</td>
</tr>
<tr>
<td>unsigned long long(unsigned long long int)</td>
<td>8字节<br><br>ULLONG_MAX=18446744073709551615</td>
<td>8字节<br><br>ULLONG_MAX=18446744073709551615</td>
<td>8字节<br><br>ULLONG_MAX=18446744073709551615</td>
</tr>
</tbody>
</table><br><br>
来源:https://www.cnblogs.com/ggkx/p/19341867
頁:
[1]