• int 的范围：-2^31( -2147483648 )------2^31-1 ( 2147483647（2.1...unsigned int 的范围：0---------------------------------2^32-1 ( 4294967295 （4.2*10E9）) longlong 的范围：-2^63(-92233720


int 的范围：-2^31(  -2147483648 )------2^31-1 ( 2147483647（2.1*10E9）)
unsigned int  的范围：0---------------------------------2^32-1 (  4294967295  （4.2*10E9）)

longlong 的范围：-2^63(-9223372036854775808 )------2^63-1 ( 9223372036854775807（9.2*10E18）)
unsigned longlong  的范围：0----------------------------------------------2^64-1 ( 18446744073709551615----(1.8*10E19) ) 
展开全文
• unsigned int 0～4294967295  int 2147483648～2147483647 unsigned long 0～4294967295 long 2147483648～2147483647 long long的最大值：9223372036854775807 long long的最小值：-9223372036854775808 ...

unsigned   int   0～4294967295(2^32-1)    int  - 2147483648～2147483647 (-2^31~2^31-1) unsigned long 0～4294967295(2^32-1)（也就是说long或者说是long int和int其实是一个东西。） long  - 2147483648～2147483647(同int) long long的最大值：9223372036854775807（2^63-1） long long的最小值：-9223372036854775808(-2^63) unsigned long long的最大值：18446744073709551615(2^64-1)
__int64的最大值：9223372036854775807 __int64的最小值：-9223372036854775808 unsigned __int64的最大值：18446744073709551615

参考 ACM博客_kuangbin

展开全文
• 类型字节表         X86 X86_64 short signed short short int signed short int 2 2 ...unsigned short ...unsigned sho
类型字节表

X86  X86_64  short  signed short  short int  signed short int  2  2  unsigned short        unsigned short int  2  2  int  signed  signed int     4  4  unsigned int  unsigned        4  4  long  signed long  long int  signed long int  4  8  unsigned long        unsigned long int  4  8  long long  signed long long  long long int  signed long long int  8  8  unsigned long long        unsigned long long int  8  8

注意：

x86&x86_64  有char总为1字节  x86&x86_64  有short总为2字节   x86  有long long就是8字节   x86_64  有long就是8字节

例子
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
cout << "sizeof short:" << sizeof(short) << endl;
cout << "sizeof unsigned short:" << sizeof(unsigned short) << endl;
cout << "sizeof int:" << sizeof(int) << endl;
cout << "sizeof unsigned int:" << sizeof(unsigned int) << endl;
cout << "sizeof long:" << sizeof(long) << endl;
cout << "sizeof unsigned long:" << sizeof(unsigned long) << endl;
cout << "sizeof long long:" << sizeof(long long) << endl;
cout << "sizeof unsigned long long:" << sizeof(unsigned long long) << endl;
return 0;
}
展开全文
• linux c int、short、longlong longunsignedunsigned short、unsigned longunsigned long long 长度 简介.pdf
• 类型标识符 32位机器所占字节长度 64位机器所占字节长度 格式化输出 int 4 4 %d short 2 2 %d long 4 8 %ld long long 8 8 %lld unsinged ...unsiged long ...unsigned long long 8 8 %llu...
类型标识符32位机器所占字节长度64位机器所占字节长度格式化输出int44%dshort22%dlong48%ldlong long88%lldunsinged44%uunsinged short22%uunsiged long48%luunsigned long long88%llu
综上所述: 32位机器和64位机器比较，对于long和unsigned long类型，所占用的空间是不一样的，从代码可移植性考虑， 定义变量最好明确所需长度，选用合适的变量类型。(注：这只是常见而已，并不代表所有的32位机器和64位机器均是这样，所以选用比较明确的类型，更合理高效)
#include <stdio.h>
#include <stdlib.h>

int main()
{
int i_a = 1;
short s_a = 2;
long l_a = 3;
long long ll_a = 4;
unsigned u_a = 5;
unsigned short us_a = 6;
unsigned long ul_a = 7;
unsigned long long ull_a = 8;

printf(" i_a = %d, sizeof(i_a) = %u\n", i_a, sizeof(i_a));
printf(" s_a = %d, sizeof(s_a) = %u\n", s_a, sizeof(s_a));
printf(" l_a = %ld, sizeof(l_a) = %u\n", l_a, sizeof(l_a));
printf(" ll_a = %lld, sizeof(ll_a) = %u\n", ll_a, sizeof(ll_a));
printf(" u_a = %u, sizeof(u_a) = %u\n", u_a, sizeof(u_a));
printf(" us_a = %u, sizeof(us_a) = %u\n", us_a, sizeof(us_a));
printf(" ul_a = %lu, sizeof(ul_a) = %u\n", ul_a, sizeof(ul_a));
printf(" ull_a = %llu, sizeof(ull_a) = %u\n", ull_a, sizeof(ull_a));

return 1;
}


X86 VS测试结果: 
展开全文
• 以下所有讨论都是在sizeof(int)和sizeof(long int)都等于4的基础上进行的.intlong int二者的范围...unsigned intunsigned long int二者的范围也是一致的,都是0---2^32-1,能表示的最大值是0xFFFFFFFF;假设一个输入字
• unsigned int 0～4294967295  int -2147483648～2147483647  unsigned long 0～4294967295 long -2147483648～2147483647 long long的最大值：9223372036854775807 long long的最小值：-...
• 首先由于数据的长度和平台相关，所以基于 64 位系统... unsigned int 32 bits/4294967295 32 bits unsigned long 32 bits 64 bits/18446744073709551615 unsigned long long 64 bits 64 bi...
• char -128 ~ +127 (1 Byte) short -32767 ~ + 32768 (2 Bytes) unsigned short 0 ~ 65535 (2 Bytes) int -2147483648 ~ +2147483647 (4 ...unsigned int 0 ~ 4294967295 (4 Bytes) long == int long long -92233...
• "long int%d \t %d\t unsigned longmax%u\n" , lmax, lmin,ulmax); char cmax = CHAR_MAX; char cmin = CHAR_MIN; char cbit = CHAR_BIT; unsigned char ucmax = UCHAR_MAX; printf ( "char %d \t ...
• 在iOS开发中经常使用NSInteger和NSUInteger，而在其他的类似于C++的语言中，我们经常使用的是intunsigned int。我们知道iOS也可以使用g++编译器，那么它们之间是否有什么联系呢？  从NSUInteger和NSInteger的...
• char, short, int, long, unsigned, signed。 6个关键字可以组合成8种整型类型。 signed char, signed short, signed int, signed long, unsigned char, unsigned short, unsigned int, unsigned long。 各个整型...
• unsigned 代表的是无符号的整形数 unsigned long intunsigned long是等价的，unsigned若省略后一个关键字，大多数编译器都会认为是unsigned int
• int类型是有符号整型，即int类型的值必须是整数，可以是正整数，负整数，零。 int类型取值范围因计算机系统而异。早起的16位IBM PC兼容机使用16位来存储一个int值，其取值范围是-32769 ～32768。目前个人计算机一般...
• 请问 64位系统下 unsigned long long intunsigned long int是否有区别？ 如果没有区别的话，我是否可以在我的代码中这样定义保证在64位和32位的系统都可以使用。 而且使用 %llu 不会产生报警 谢谢 #define ...
• unsigned int 0～4294967295 int 2147483648～2147483647 unsigned long 0～4294967295 long 2147483648～2147483647 long long的最大值：9223372036854775807 long long的最小值：-9223372036854775808 unsigned ...
• 编译器不同，宽度是不相同，分别如下：//—16位编译器—//char ：1个...unsigned int : 2个字节 float: 4个字节 double: 8个字节 long: 4个字节 long long: 8个字节 unsigned long: 4个字//—32位编译器—//（看这
• 如果系统的 intlong 类型具有同样的长度，使用%d 就可以打印 long 数值，但是这会给程序移植其他系统（这两种数据类型的长度不一样的系统）带来麻烦，所以建议使用 %ld打印 long 数值。在x和o符号前也可以使用...
• unsigned long int 　unsigned long int在C语言中是无符号长整形变量，是整形变量的一种。 unsigned long intunsigned long是等价的，即定义的时候int可以不写。　C语言字节数为4，与long型数据一样。　 unsigned...
• intunsigned intlong intlong long，__int64 类型的最大值和最小值： int(long int)： （-2^31, 2^31-1 ） 2147483648 2e9 unsigned int: ( 0 , 2^32-1 ) 即 ( 0, 4294967295 ) Oxffffffff=2^32-1 4e...
• 默认为unsigned int。 这是C语言的一种缺省规则。 即当定义变量 unsigned a; 时，与定义 unsigned int a;...但是在32位编译器中，intlong都是占4个字节，unsigned intunsigned long并没有区别。 ...
• unsigned longint一样 longint一样 long long的最大值：9223372036854775807 long long的最小值：-9223372036854775808 unsigned long long的最大值：1844674407370955161 __int64的最大值：...
• 下面说一说intlonglong long的区别，众所周知intlong的长度是由操作系统决定的，没特殊情况intlong的长度是一样的，在32位操作系统中int就是int类型（longint的长度相同，即取值范围int==long），而在64位...

...