数据在内存中的存储

一、大小端的理解

        数据在计算机中都是以补码的形式存储的,大端模式的定义为将数据的低位保存在高位地址中,将数据的高位保存在低地址中。小端模式的定义为将数据的低位保存在低地址中,将数据的高位保存在高地址中。例如如果我要储存一个10,10的原码为0000 0000 0000 1010,反码0111 1111 1111 0101,补码0111 1111 1111 0110。

  

二、整型数据在内存中的存储

1、原码、反码和补码的介绍        

        数据在计算机中都是以二进制的形式存储的,计算机中的整数有三种表示方式, 分别是原码,反码和补码。原码存放的就是数据本身,正数的原码,反码和补码都是相同的,负数的反码和补码要通过原码计算出。具体的计算过程是原码符号位不变,其余位按位取反得到反码,反码+1得到补码。如果倒过来有了补码怎么知道原码呢,倒着推当然可行,将补码-1之后按位取反即可,但是其实还有一种算法,按照同样的步骤,将补码符号位不变其余位按位取反然后+1也可以得到原码,因为原码求补码的过程和补码求原码的过程算法一样,计算机运算时可以通用一个算法,从而大大提高效率。

  2、整型数据在内存中是以补码的形式,具体是大端模式还是小端模式可以通过观察字在内存中的顺序来判断。数据的补码是先以一个int类型也就是32个bit位存放然后根据变量类型发生截断或者提升。整型家族包括 char   short   int   long   long long,因为所占的内存空间的不同,取值范围也是不同的,规定它们取值范围的头文件为 <lim

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值