c、c++ 基本数据类型所占用的字节数量

前言

  说起c、c++ 中数据基本数据类型占用字节个数,就不得不说计算机的发展的四个阶段。

  • 第一代:20世纪50年代,主要采用真空电子管制造计算机
  • 第二代:20世纪50年代末期,出现了以晶体管为主要元件的第二代计算机。
  • 第三代:中小规模集成电路计算机,代表机型1964年IBM公司推出IBM360系列计算机并垄断了60%~70%的国际市场,它的出现标志着计算机进入第三代。
  • 第四代:随着大规模集成电路和微处理器的出现,计算机进入第四代。就是目前各位同学所使用的电脑和手机。

问题来了

  随着计算机的发展,操作系统的位数也在增加,从8位、16位、32位、64位。那么问题也就来了,在不同位数的操作系统中声明的数据类型所占用的字节数量是不一样的。准确的说是编译环境不同造成的,如果你使用的是64位操作系统,编译环境是32位的那么就按照32位的方式去计算。

答案来了

  16位编辑器中

  • int 占两个字节,范围 -32768 ~ 32767 (-2^15 ~ 2^15-1);
  • long 占四个字节,范围 -2147483648 ~ 2147483647 (-2^31 ~ 2^31-1);

  32位编辑器中

  • int 占四个字节,范围 -2147483648 ~ 2147483647(-2^31 ~ 2^31-1); 和long一样。
  • long 占四个字节,范围 -2147483648 ~ 2147483647(-2^31 ~ 2^31-1);

  64位编辑器中

  • int 占四个字节,范围 -2147483648 ~ 2147483647 (-2^31 ~ 2^31-1); 和long一样。
  • long 占八个字节,范围 -9223372036854775808 ~ 9223372036854775807(-2^63 ~ 2^63-1);

  short、float、double、chart不收编辑器的影响

  • short 占二个字节, 范围 -32768 ~ 32767 (-2^15 ~ 2^15-1);。
  • float 占四个字节, 范围 -3.4 * 10^38 ~ -3.4 * 10^38 (保留七个有效数字)。
  • double 占八个字节,范围 -1.7* 10^308 ~ -1.7 * 10^308 (保留十五个有效数字)。
  • chart 占一个字符位置,范围 -128 ~ 127 (-2^7 ~ 2^7-1)。

总结

  求知的过程任重而道远,希望各位同学能在求知的路上越走越远。如果我那里有错误的地方请同学们指出,欢迎大家留言探索。

转载于:https://juejin.im/post/5c1766776fb9a04a0d56c2ef

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值