zoukankan      html  css  js  c++  java
  • 计算机基础一 0与1

    简单说,计算机就是晶体管和电路板组装起来的电子设备,其功能归根结底就是0与1的信号处理。

    计算机存储单位

    Bit(位):Bit是计算机存储的最小单位,只能表示0或者1;
    Byte(字节):8位组成一个字节,表示范围为00000000-11111111即0255或者-128127
    KB、MB、GB、TB、PB:1024Byte=1KB;1024KB=1MB;1024MB=1GB;1024GB=1TB;1024TB=1PB。

    二进制、八进制、十六进制

    二进制:计算机的物理表现形式为0与1,进位规则为“逢二进一”,借位规则为“借一当二”,称为二进制。
    八进制:一种以8为基数的计数法,逢八进一。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。
    十六进制:以1-9A-F表示1-15的计数法,逢16进1。常用在网页设计颜色表示和内存地址表示上。
    由于十进制是非0开头,所以其他进制需前补0用于区分:二进制用0b或者0B开头 八进制用0开头,十六进制用ox或者0X开头。

    二进制的计算

    java中short占2个字节,int占4个字节,long占8个字节。(其他float占4个字节,double占8个字节)
    所以short表示25为:00000000 00011001
    int表示25位:00000000 00000000 00000000 00011001
    二进制整数都是以补码形式表现。下面讲原码、反码、补码:

    原码:

    正数的原码为原值转换成额二进制数字;负数按照绝对值大小转换成的二进制数字,然后最高位补1
    25的原码:00000000 00011001
    -25的原码:10000000 00011001

    反码:

    正数的反码与原码相同;负数的反码为原码除符号位外各位取反
    25的反码:00000000 00011001
    -25的反码:11111111 11100110

    补码

    正数的补码与原码相同;负数的补码为反码加1
    25的补码:00000000 00011001
    -25的补码:11111111 11100111

    总结

    ①正数的反码和补码都与原码相同。
    ②而负数的反码为对该数的原码除符号位外各位取反。
    ③负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1

    内存

    CPU只能访问内存里面的数据,不能直接访问硬盘里的数据。只能把硬盘里的数据先放到内存里再去访问,比如游戏前的loading。
    内存称为计算机系统的主存储器;硬盘、U盘及光盘都是外部存储器。
    内存里面有很多很多的bit,它把8个的bit组成一组即byte,CPU一次只能访问一个byte而不能单独去访问一个bit。Byte是内存的最小的IO单位。

    内存地址

    内存虽然将8个Bit组成了1一个Byte,但是也还是有很多很多,例如1G的内存就有102410241024个byte。
    为了方便CPU快速读取到数据 就将每个byte设置一个地址称为内存地址。
    系统支持的最大内存地址的数量是根据操作系统的位数决定的。例如32位的操作系统支持232个byte即2210241024*1024=4G,
    内存地址表示的范围就是0000 0000 0000 0000 0000 0000 0000 0000 - 1111 1111 1111 1111 1111 1111 1111 1111
    为了显示方便内存地址用16进制表示就是0x00000000-0xffffffff
    直接寻址技术:cpu知道要访问数据的内存地址, 就能直接到内存的对应位置去访问数据!

  • 相关阅读:
    Android中View绘制流程以及invalidate()等相关方法分析
    开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]
    servlet上传文件报错(一)
    白话经典算法系列之六 高速排序 高速搞定
    POJ1177+线段树+扫描线
    tensorflow compile
    算法编程题的心得体会
    算法编程题的心得体会
    标识变量的使用
    标识变量的使用
  • 原文地址:https://www.cnblogs.com/ggza/p/9981738.html
Copyright © 2011-2022 走看看