数据在内存中的存储

计算机是由 cpu 存储器,输入输出设备这些基本硬件组成的,满足冯诺伊漫体系,可是这些硬件只能识别基本的0 1序列,所以也就决定了我们的数据在计算机必须按照按照二进制进行存储。

在数学中,我们常用的数为正数,负数,和0这三种,那我们常用的这三种数在计算机中到底是怎么存储的呢,我们先来说说正整数,负整数,0,在计算机中是怎样存储的,毫无疑问它们在计算机中都是以二进制进行存储的如+3,-4,在计算机中我们管这些数称为有符号数,而我们把3,4称为无符号数。

那在计算机中我们是怎样存储我们的有符号整数的呢,我们用0和1代表符号位,最高位为0,则表示这个数为正数,为1表示这个数为负数。然后我们根据十进制转换为二进制的规则将十进制数转换为二进制数。如果这个数为正整数,那转化后的数据就是它在内存中存储的数据,如果这个数为负数,那我们的把转换后的二进制数的各位除符号位外依次去反,即得我们的反码,然后我们在将得到的二进制数加1,这时内存得到的数将是我们内存中所存储的数。

为什么要将负数在内存中存成反码的形式呢?当然是为了我们更好的进行整数和负数的加减乘除运算呀,如果我们不加以转换,那这些数经过cpu操作后,将不会得到我们想要的运算结果,如果是进行运算的两个数为正数,就可以直接运算,如果一正一负,则我们必须将负数转换为补码存储在我们的内存中,这样在经过cpu 运算后,我们才会得到我们想要的结果,符合我们的实际,所以这就是我们需要转换的原因啦!

以上我们看了正整数和负整数在补码中的存储,但在实际中我们会用到大量的带小数点的数,那这些带小数点的数是怎样在内存中存储的呢?这个,我们明天再看。


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40797414/article/details/80316466
个人分类: 计算机理论基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭