0和1

        庞大的计算机系统本质就是由0和1构成的。计算机内部由数以百万计的器件控制着电路的工作,而电路本身只有两个状态,0无电压,1有电压,为了表示更多的数值状态,我们把多个电路组合并起来使用,这样就有了N条线路表示N个bit位。这样就可以表示2的N次方个不同的状态。计算机的数据类型也是通过这种二进制的方式来表达的。

 

 无符号整数,有符号整数和补码

          N个bit位可以表示0~2^N - 1之间的无符号整数,-2^(N-1)~2^(N-1)-1之间的有符号整数。

计算机中存在大量的负数运算,正整数按照正常的表示方式即可,可是负整数要怎么办?

 1.用最高位表示正负情况0为正1为负(符号位表示法)

  2.将正整数的所有bit位取反,即为该整数的负数表示(反码 1's Complemet)

但是这两种情况均存在硬件的逻辑设计过于复杂的情况,比如两个符号相反的整数相加。

因此 补码(2's Complement)应运而生,目前,几乎所有的计算机都采用这种方式。

补码:正整数的编码表示方式不变,也是最高位为0,其余位表示0~2^(N-1)-1.对非0整数A的码字,取反再加1得到-A

为了保证逻辑电路尽量简单,即给两个输入,ALU(算术逻辑运算单元)只是简单的对两个输入做加法,而不考虑正负情况,而补码正好可以满足这种需要。

补码的性质 A+(-A) = 0;可表示范围内相邻两个数之间的差值为1.

 

二进制转十进制

       AnAn-1.....A2A1A0

        1.判断最高位 An为0还是1,为1先转为对应的绝对值相同的正整数码.

           转换公式 An-1*2^(n-1) + An-2*2^(n-2) + .... + A1*2^1 + A0*2^0;

          如果为负数,求和之后在最前面加上 负号。

十进制转二进制

        步骤:第一步 判断N为奇数还是偶数,奇数则A0为1,偶数A0为0;

                  依次让N=(N/2向下取整),同样的为奇数时对应的位为1,否则为0。直到N为0。

         注意,如果为负数的话需要最高位补0获得补码表示。

 

二进制的算术运算和十进制原理大致相同,都是按位对齐,从右往左,满二进一.

符号扩展(在前方补0或者1,正数补0,负数补1),主要用于两个不同长度的二进制相加时的计算。

注意,如果两数相加的结果超过了可表示范围,最高位会被忽略,意味着发生了溢出。

通过运算结果和两个数之间的符号位比较,可以很容易的发现溢出问题。溢出只会出现在两个相同符号相加的时候。不同符号的两个数相加不会溢出。

逻辑运算(AND OR NOT XOR)

 与运算(AND)两个操作数都为1时结果为1,否则为0.

或运算(OR) 两个操作数其中之一为1则结果为1,否则为0.

非运算(NOT)对操作数取反 1为0,0为1.

异或运算(XOR)两个输入值(1和1,0和0)相同则结果为0,否则为1.

 

其他数据类型

 位矢量:存在n个单元,有一个n个bit的二进制数表示。如果某个单元空闲,对应的bit位清0,忙碌则置1.

 通过屏蔽字来实现,如要把某位置为空闲,可以用一个其他位为1,对应位为0的屏蔽字做AND操作。

把某位置为忙碌,则可以把屏蔽字其他位置0,对应位置1做OR操作

 

浮点数          

符号位: 1bit, 代表正数还是负数。

数值范围:8bit, 代表范围。指数

数值精度:23bit,代表精度,尾数部分,即小数点后的数

 

按照我的理解,指数位全0,代表非常小的趋于0的数,而全1表示正负无穷大的数。

还有一个注意点,小数前都是1,所以其实可以表示24位的精度

ASCII码  

这是一种用于在计算机处理单元和输入/输出设备之间传递"字符"的编码标准,不同的字符对应了不同的ASCII码(字母的大小写表示的是不同的ASCII码)

十六进制计数法HEX(0~F)

 相当于把4个二进制位合成一位,更便于阅读,同时也适合计算机操作。

如 1111 1100 1001 ---- > FC9

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值