数据在内存中的存储方式

准确的说,数据在内存中有两种不同的储存形式,一种用来存储浮点型。一种用来存储整形。

下面进行具体说明

整形

细分的化有char,int ,long ,shot等,而这些又可以有符号的和无符号的。这些类型想必都认识,这里便不一一列举了

整形在内存中是以补码得的形式储存的,而转化的规则如下

1.对于有符号的负数来说,转化成补码的规则如下

原码:原来的数翻译出来的二进制数

反码:符号位不变,其他位按位去反

补码:反码加+1

2.而对于有符号的正整数或者无符号数,他们的原码,反码,补码是相同的

可能有人会困惑,那么这样有符号的正数和无符号的正数的区别在哪?

 观察上图,a是有符号的int型(前面不加unsigned默认是有符号的),其值翻译成二进制为

0111 1111 1111 1111 1111 1111 1111 1111,但当我们打印的a+1的时候发现确是个负数

而如果我们以无符号的形式打印,显示的则为正数。

因此我们可以知道,无符号跟有符号的区别在于所表示的范围不一样 

为便于理解,接下来详细说明char类型。其他的整形可以以此类推

注意了,char的本质也是整形,大小是一个字节,即8个比特位,如图,我们以整形的方式打印,便可得到对应的ASCII码值

 以一个例题为例

 上图,该程序的意思是,定义一个1000的char类型的数组,用循环的方式把i放到arr[i-1]里面去,最后我们打印出这个字符数组的长度

注意&#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值