zoukankan      html  css  js  c++  java
  • 浅析各种数据类型的取值范围 void

    每次在用的时候对数据类型范围很模糊,到底会不会溢出,该不该用long long之类的,这次找了相关资料给总结下

    1. char 1 -128到126   
    2.  
    3. unsigned char 1 0到255   
    4.  
    5. short 2 -32,768到32,767   
    6.  
    7. unsigned short 2 0到65,535   
    8.  
    9. long 4 -2,147,483,648到2,147,483,648   
    10.  
    11. unsigned long 4 0到4,294,967,295   
    12.  
    13. int 4 同long   
    14.  
    15. unsigned int 4 同unsigned long   
    16.  
    17. float 4 1.2E-38到3.4E381   
    18.  
    19. double 8 2.2E-308到1.8E3082     
    20. bool 1 true或false  
    21.  long long   [int]        64        0 ~ 2^64-1 =18,446,744,073,709,551,616  所占20位左右

    从上表可以看出,int与long相同。那么,为什么C++还要区分这两种数据类型呢?实际上这是个遗留问题。在16位编程环境中,int要求2个字节而long要求4个字节。而在32位编程环境中,这两种数据都用4个字节存放

     

    还有浮点型的强制转换int舍弃小数部分,如果保留有效位的话可以四舍五入

     

     

    long long 的数据已经达到了20位的整数,所以大部分情况下可以处理大数,但是还要顾及时间复杂度,float和double更大了

     

    long long在某些oj的g++编译器并不支持,提示wa,但是gcc却可以通过

     

  • 相关阅读:
    Java提高学习之Object(5)
    cmd命令。
    CacheView。
    快速界面:QML。
    抓包工具。
    打包安装程序。
    AS:加载新版本的SWF文件。
    as自定义菜单。
    as [Frame]元标签
    转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
  • 原文地址:https://www.cnblogs.com/void/p/2016604.html
Copyright © 2011-2022 走看看