一:常用数据类型对应字节数可用如sizeof(char),sizeof(char*)等得出32位编译器:char :1个字节char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)short int : 2个字节int: 4个字节unsigned int : 4个字节float: 4个字节double: 8个字节long: 4个字节long long: 8个字节unsigned long: 4个字节64位编译器:char :1个字节char*(即指针变量): 8个字节short int : 2个字节int: 4个字节unsigned int : 4个字节float: 4个字节double: 8个字节long: 8个字节long long: 8个字节unsigned long: 8个字节、二:在16位环境下,int/unsigned int 占16位,long/unsigned long占32位在32位环境下,int占32位,unsigned int占16位,long/unsigned long占32位
何时需要使用:long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647,而unsigned范围是[0,2^32),即0~4294967295,所以常规的32位整数只能够处理40亿左右,当遇到比40亿大的多的数就要用到64位。
64位使用范围:不 同的编译器对64位整数的扩展有所不同,VC使用__int64/unsigned __int64,范围是[-2^63, 2^63)和[0,2^64),即-9223372036854775808~9223372036854775807与 0~18446744073709551615(约1800亿亿)。
注意点:
1、编译器不同导致使用64位的申明方式不同;
2、long long / unsigned long long 一般是Linux下申明方式、如:G++
3、__int64 /unsigned __int64一般是Windows下使用64位的申明方式,如:VS
4、在赋值时需要注意加上ll进行显式赋值;
5、当进行64位与 32位的混合运算时,32位整数会被隐式转换成64位整数。
6、输出printf("");,long long使用%lld输出,__int64使用%I64d,无符号使用u替代d即可。
7、测试下来编译器一般都支持2种操作,不必太过纠结,怎么使用看个人喜欢。

  

转载于:https://www.cnblogs.com/E-star/archive/2012/04/17/2454311.html

各数据类型的取值范围及占用字节数。。相关推荐

  1. Java基础:8种基本数据类型,取值范围和储存字节说明。

    Java中,一共有8种基本数据类型: 4种整数型:int,short,long,byte. 2种浮点型:float,double. 1种字符类型:char. 1种表示真值的类型:boolean. [S ...

  2. java存储整数,用于存储整数数值的是 JAVA四种整数数据类型的取值范围分别是多少...

    JAVA四种整数数据类型的取值范围分别是多少 byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1) short的取值范围为-32768~32767,占用2个字节(-2的1 ...

  3. python几种数据类型的取值方式

    今天我们主要来学习下python的几种数据类型的取值方式! 首先我们先来看下python的几种数据类型,python有五个标准的数据类型: number(数字) string(字符串) list(列表 ...

  4. Java中数据类型的取值范围

    整数数据类型的取值范围 我们都知道计算机的底层是二进制,也知道不同的整数类型存储值的范围不同,可这些数值在计算机底层是怎样存储的呢?数值范围又是怎么计算出来的呢? 下面以java来进行举例: byte ...

  5. labview 判断整数_labview 之如何获取数据类型的取值范围

    Labview支持的数据类型种类繁多,其中整型数是种类最多的,包括U8.I8.U16.I32等等. 对于每一种特定的整型数,都对应这特定的取值范围,比如U8的最大值为255,最小值为0,所以U8的取值 ...

  6. C语言——数据类型、基本数据类型的取值范围

    目录 一.数据类型 1.基本类型 2.sizeof运算符 3.signed和unsigned 二.取值范围 1.比特位 2.字节 3.符号位 4.补码 5.基本数据类型的取值范围 一.数据类型 1.基 ...

  7. java中double类型占几个字节_java中各种数据类型占用字节数

    1字节(Byte)=8bit java的基本类型 类型 所占字节 byte 1 short 2 int 4 long 8 float 4 double 8 char 2 String中字母和汉字所占字 ...

  8. c语言结构体变量所占字节计算,【C语言】结构体占用字节数及存储与空间分配...

    我们都知道在数据类型中,char类型占1个字节,short占2个字节,int占4个字节,long占8个字节等等. 在计算结构体大小时需要考虑其内存布局,结构体在内存中存放是按单元存放的,每个单元多大取 ...

  9. C语言占位符及各种变量占用字节数

    简介: 自己复习C语言的时候总结了一下格式化输入输出占位符,以及各种变量的占用字节数,还有没提到的后面慢慢补充.(第一次学着发博客总结^-^,也可以帮助自己后续回顾) 部分变量类型及占用字节数: (C ...

最新文章

  1. MySQL 源码 需要 什么基础_MySQL 基础之 源码 部署
  2. Linux fs清理文件,linux找出已经删除但磁盘空间未释放的大文件并清空
  3. 机器学习(MACHINE LEARNING)MATLAB遗传算法
  4. 如何卸载安装有问题的devexpress组件?
  5. 【DIY】可能是最简单便宜的DIY温湿度计,arduino温湿度计
  6. 【收藏】用户私自搭建伪服务器怎么办?禁它
  7. C和C++里的const常量、volatile修饰符的深层次说明
  8. 【个人感悟】效率,天道酬勤
  9. php 数组降维,php 数组去重的方法参考(一维数组去重、二维数组去重)
  10. windows下xmllib2使用简介 64位
  11. stm32定时2通道3映射_stm32学习笔记之问题总结
  12. 分享一款好看的城市选择器
  13. 苹果mac文本处理软件:FSNotes
  14. 80.共享内存实现进程通信
  15. 经典Retinex算法简要剖析
  16. 让你从入门到精通CASS软件教程免费下载
  17. cuda9升级cuda10方法记录 ubuntu1604
  18. 笔记本电脑无线网络连接不上怎么办
  19. NTFS文件系统详解(二)之MBR(EBR)基本信息
  20. EFCore:关于DDD中值对象(Owns)无法更新数值

热门文章

  1. intellij IDEA 报 非法字符 \65279 原因及解决方法
  2. ln命令:软链接建立与删除
  3. 计算机睡眠功能命令,windows睡眠命令怎么使用
  4. android 8.1闪退,宁波市民卡app在Android 8.1闪退_宁波民生e点通
  5. JAVA容器_java集合容器之Stack
  6. JavaScript入门→HTML引用JS、变量、表达式操作符、数组Array数组对象、选择结构循环结构、函数、JavaScript与JAVA区别
  7. 第五章节 类的继承(访问修饰符)
  8. socketmq 设置队列大小_TCP 半连接队列和全连接队列满了会发生什么?又该如何应对?...
  9. linux7.0 端口占用,Windows 7如何处理 80端口被占用
  10. [leetcode] 95. 不同的二叉搜索树 II