• 内存0.1---内存里数据的表示形式以及进制转换


    操作系统的位数与内存的关系: 

    32位操作系统是指系统的寻址空间是2的32次方,即4G,也就是说32位操作系统只支持最大4G的内存,64位操作系统寻址空间理论上为2的64次方,即17179869184G,目前最大支持128G,主流主板最大容量为16G。

     内存的概念:

    内存存储的是二进制数,可以将内存抽象为开关。一个开关对应两应两种状态,一种状态对应1,一种状态对应0。把八个开关放到一间房子里面,这间房子就相当于一个字节。房间的门牌号相当于地址。无数个房间堆叠且,形成了摩天大厦,大厦就相当于内存。

     10这个十进制数字占用4个房间,有32个开关。

    存储单位的转换:

    8bit=1Byte

    1024Byte=1KByte

    1024KByte=1MByte

    1024MByte=1GByte

    1024GByte=1TByte

     

    进制的转换:

     

    二级制: 1+1=10   (逢二进一)

    八进制:1+7=10    (逢八进一)    沟通二进制与16进制

    十进制:9+1=10    (逢十进一)

    十六进制:F+1=10  (逢16进一)   内存地址用16进制表示

     

     

    十进制-》二进制 :  倒除法,余数逆序

    示例:10(十进制)-》1010(二进制)

           2|      10                   

                2 |     5               余数为0

                     2|      2          余数为1

                          2|     1      余数为0

                               | 0       余数为1

     

    二进制-》十进制

    当前的数字乘以2的位数次方,最后相加

    例如:1010(二进制)

    0*2^0+1*2^1+0*2^2+1*2^3=10(十进制)

     

     

    八进制-》二进制

    【一转三位】八进制的一位转换为二进制读的3位,转换时用十进制转换

    456(八进制)-》100 101 110 (二进制)

    二进制-》八进制

    【三位一取】三个二进制数相当于一位八进制,从低位开始取,高位不够加0

    101 110(二进制)-》56(八进制)

     

     

    十六机制-》二级制

    【一转四位】十六机制的以为相当于二进制的四位,转换时用十进制转换

    FED->1111 1110 1101(二进制)

     

     

    二进制-》十六进制:

    【四位一取】四位二进制相当于一位十六进制,从低位开始取,高位不足补0

    1010 1111 1101(二进制)-》AFD(十六进制)

     

     

     内存里数据的表示形式及原因:

    计算机存储数据的流程:先开辟内存空间,再存储数据。即算机以字节为单位开辟空间。

    1010这个数占4个字节,前面填充28个0,内存存放的形式是:0000000000000000000000000001010

         存放的最高位表示符号:0表示正数  1表示负数

     

      +1:00000000000000000000000000000001

      -1:10000000000000000000000000000001

          10000000000000000000000000000010

     

    若-1由 10000000000000000000000000000001表示

    那-1+1=-2,明显不对,因此-1不能由10000000000000000000000000000001表示

     

    引出原码,反码,补码的概念

    原码:规定了字节数,写明了符号位,得到了数据的原码

    反码:正数的反码是其自己,负数的反码是其原码的符号位不变,其他位取反

    补码:正数的补码是其自己,负数的补码是其反码加1

     

    计算机中的所有数都是以补码的形式存储的

     

    -1的原码:10000000000000000000000000000001

    -1的反码:1111111111111111111111111111111110

    -1的补码:1111111111111111111111111111111111

     

    +1的原码=反码=补码=00000000000000000000000000000001

     

    因此+1+(-1)就是:

      +1:00000000000000000000000000000001

      -1:11111111111111111111111111111111111

          00000000000000000000000000000000

     

    结果很显然就是0,因此用补码的形式表示所有数字是可行的

  • 相关阅读:
    如何通过一行代码制作个人专属动态微信二维码?
    小白学 Python 数据分析(14):Pandas (十三)数据导出
    小白学 Python 数据分析(13):Pandas (十二)数据表拼接
    小白学 Python 数据分析(12):Pandas (十一)数据透视表(pivot_table)
    小白学 Python 数据分析(11):Pandas (十)数据分组
    小白学 Python 数据分析(10):Pandas (九)数据运算
    小白学 Python 数据分析(9):Pandas (八)数据预处理(2)
    小白学 Python 数据分析(8):Pandas (七)数据预处理
    小白学 Python 数据分析(7):Pandas (六)数据导入
    小白学 Python 数据分析(6):Pandas (五)基础操作(2)数据选择
  • 原文地址:https://www.cnblogs.com/yulianggo/p/9183341.html
Copyright © 2020-2023  润新知