C语言中各种基本数据类型在内存中的存储方式

整形数据

在内存中是以补码的形式存在。对于一个整数来说,它的补码就是它的原码本身。对于一个负数来说,它的补码为原码取反再加1。
(注:原码就是这个数本身的二进制形式<整数的反码和补码都和原码相同>,反码是将其原码除符号位外各位求反,补码是在其反码的基础上加1.)

实型数据

在计算机中也是以二进制的方式存储,关键在于如何将十进制的小数转化为二进制来表示。
例、12.567
首先整数部分为:1100
小数部分:0.565*2=1.130,得小数后第一位为1,0.13*2=0.26得小数的第二位为0,0.26*2=0.52得第三位为0,0.52*2=1.04得第四位为1,0.04*2得第五位,以此类推。于是得到最后的结果为1100.100100001b(省略了后面的计算)。

字符型

把字符的相对应的ASCII放到存储单元中,而这些ASCII代码值在计算机中以二进制的形式存放的。
(这个与整形的存储很相似,因此这两类数据之间转换也比较方便。)

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值