zoukankan      html  css  js  c++  java
  • 64位和32位的区别

    在目前的操作系统中安装软件的时候经常会区别是32位(x86)还是64位的操作系统,今天就来谈谈32位和64位到底区别在哪里。

    32和64的以我个人目前的理解,主要区别就是RAM(内存)。

    32位的地址线最多表示的数字是2的32次方。同理64位就是2的64次方。

    内存的使用是通过访问内存地址来使用的。一个地址对应8bit。也就是说若是32位的操作系统内存的最大地址就是2的32次方。2的10次方是1024也就是1G。根据同底数的幂运算法则。(2^10)*(2^10)*(2^10)*(2^2)=2^32=1024*1024*1024*4

    根据一个地址对应8bit。那么对应的bit为(2^32)*8       1G=1024M    1 M = 1024 K  1 K = 1024byte 1byte=8bit.  

    既:

      (2*32)*8=1024*1024*1024*4*8=4G.

    所以说最多有4G个地址。多了没有地址。

    同理64位 bit为(2^64)*8

      (2^10)*(2^10)*(2^10)*(2^10)*(2^10)*(2^10)*(2^2)*8

      (1024*1024*1024*1024*1024*1024*4*8)/(1024*1024*1024*8)=1024*1024*1024*4 G

    最多有1024*1024*1024*4  G个地址。

    这都是理论值,在现实生活中软件对内存的利用率也不可能100%,所以好多内存是浪费的。

    内存是存储变量的一个存储空间,所以说上述的区别只是区别单个的一个进程的。当你操作系统的进程越多,应用程序还多的时候内存当然是多多益善。具体分配时候的时候就要看操作系统对内存的管理了。

    开工干活了,后面还要区别SRAM和DRAM.敬请期待。

  • 相关阅读:
    java 求两个数最大值
    java 加法运算
    javs switch 语句
    git合并分支成功,但是push失败(remote: GitLab: You are not allowed to push code to protected branches on this project.)
    python 获取日期以及时间
    1713
    linux shell脚本中的延时
    java 类的继承
    Python3 使用企业微信 API 发送消息
    java if 条件语句
  • 原文地址:https://www.cnblogs.com/zhangjianrong/p/9148976.html
Copyright © 2011-2022 走看看