一、大小端的理解
数据在计算机中都是以补码的形式存储的,大端模式的定义为将数据的低位保存在高位地址中,将数据的高位保存在低地址中。小端模式的定义为将数据的低位保存在低地址中,将数据的高位保存在高地址中。例如如果我要储存一个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

最低0.47元/天 解锁文章
2180

被折叠的 条评论
为什么被折叠?



