开发者社区> 问答> 正文

二进制是怎样在电脑中运行的

原理

展开
收起
知与谁同 2018-07-19 10:41:17 2310 0
3 条回答
写回答
取消 提交回答
  • TA有点害羞,没有介绍自己...
    简单的说处理器判断的是存储器里的与非门状态,二进制就是0和1代表与非门的状态,很多个与非门就组成了一个要执行的命令~
    2019-07-17 22:57:22
    赞同 展开评论 打赏
  • 二进制
    18世纪德国数理哲学大师莱布尼兹从他的传教士朋友鲍威特寄给他的拉丁文译本《易经》中,读到了八卦的组成结构,惊奇地发现其基本素数(0)(1),即《易经》的阴爻- -和__阳爻,其进位制就是二进制,并认为这是世界上数学进制中最先进的。

    20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是二进制。它不但证明了莱布尼兹的原理是正确的,同时也证明了〈易经〉数理学是很了不起的。

    二进制数

    一、二进制数的表示法

    二进制是计算技术中广泛采用的一种数制。二进制数是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。二进制数也是采用位置计数法,其位权是以2为底的幂。例如二进制数110.11,其权的大小顺序为22、21、20、2-1、2-2。对于有n位整数,m位小数的二进制数用加权系数展开式表示,可写为:

    (N)2=an-1×2n-1+an-2×2n-2+……+a1×21+a0×20+a-1×2-1+a-2×2-2

    +……+a-m×2-m=

    式中aj表示第j位的系数,它为0和1中的某一个数。

    二进制数一般可写为:(an-1an-2…a1a0.a-1a-2…a-m)2。

    【例1102】将二进制数111.01写成加权系数的形式。

    解: (111.01)2=1×22+l×21+1×20+1×2-2

    二、二进制数的加法和乘法运算

    二进制数的算术运算的基本规律和十进制数的运算十分相似。最常用的是加法运算和乘法运算。

    1. 二进制加法

    有四种情况: 0+0=0

    0+1=1

    1+0=1

    1+1=0 进位为1

    【例1103】求 (1101)2+(1011)2 的和

    解: 1 1 0 1

    + 1 0 1 1

    1 1 0 0 0

    2. 二进制乘法

    有四种情况: 0×0=0

    1×0=0

    0×1=0

    1×1=1

    【例1104】求 (1110)2 乘(101)2 之积

    解: 1 1 1 0

    × 1 0 1

    1 1 1 0

    0 0 0 0

    + 1 1 1 0

    1 0 0 0 1 1 0
    2019-07-17 22:57:22
    赞同 展开评论 打赏
  • 胜天半子
    十进制有0~9共十个数字。以此类推,二进制应当只有两个数字,记为0、1。基数不是一个独立的数字。

    2.逢基数进一

    凡某位运算结果为基数就要进位,本数位的值记为0,进位值为1。在十进制中,逢十进一。在二进制中,逢二进一。

    3.每一位的权(数位值)是基数的方幂,指数自右至左递增1

    十进制:…10410310210110010-110-210-3……

    二进制:…24232221202-12-22-3……

    需要特别指出的是,为说明方便,此处二进制数是用十进制数的数字表达的。

    4.每一位的数值等于该位上的权与数字的乘积

    例如:

    1995=1000×1+100×9+100×9+1×5

    1001.101B=23×1+20×1+2-1×1+2-3×1

    同样,为说明方便,此处等号右边的二进制数是用十进制数字表达的。

    电脑为何采用二进制

    l.二进制只需用两种状态表示数字,容易实现

    计算机是由电子元器件构成的,二进制在电气、电子元器件中最易实现。它只有两个数字,用两种稳定的物理状态即可表达,而且稳定可靠。比如磁化与未磁化,晶体管的载止与导通(表现为电平的高与低)等。而若采用十进制,则需用十种稳定的物理状态分别表示十个数字,不易找到具有这种性能的元器件,即使有,其运算与控制的实现也极复杂。

    2.二进制的运算规则简单

    加法是最基本的运算。乘法是连加,减法是加法的逆运算(利用补码原理,还可以转化为加法运算,类似钟表拨针时的计算),除法是乘法的逆运算。其余任何复杂的数值计算也都可以分解为基本算术运算复合进行。为提高运算效率,在计算机中除采用加法器外,也直接使用乘法器。

    众所周知,十进制的加法和乘法运算规则的口诀各有100条,根据交换率去掉重复项,也各有55条。用计算机的电路实现这么多运算规则是很复杂的。

    相比之下,二进制的算术运算规则非常简单,加法、乘法各仅四条:

    0+0=0 0×0=0

    O+1=1 0×1=0

    1+0=l l×O=0

    l+1=10 1×1=l

    根据交换率去掉重复项,实际各仅3条。用计算机的脉冲数字电路是很容易实现的。

    3.用二进制容易实现逻辑运算

    计算机不仅需要算术运算功能,还应具备逻辑运算功能,二进制的0和1分别可用来表示假(false)和真(true),用布尔代数的运算法则很容易实现逻辑运算。

    4.二进制的弱点可以克服

    二进制主要的弱点是表示同样大小的数值时,其位数比十进制或其他数制多得多,难写难记,因而在日常生活和工作中是不便使用的。但这个弱点对计算机而言,并不构成困难。在计算机中每个存储记忆元件(比如由晶体管组成的触发器)可以代表一位数字,“记忆”是它们本身的属性,不存在“记不住”或“忘记”的问题。至于位数多,只要多排列一些记忆元件就解决了,鉴于集成电路芯片上元件的集成度极高,在体积上不存在问题。对于电子元器件,0和1两种状态的转换速度极快,因而运算速度是很高的。

    二进制运算

    1.算术运算

    前面已经讲过,二进制算术运算规则非常简单,现举二例加以说明。

    即1110B+1011B=11001B

    即1110B×10llB=10011010B

    2.逻辑运算

    在计算机中还经常用二进制数进行逻辑运算。逻辑运算在二进制数位之间进行,不存在进位或借位。在逻辑运算中,二进制数中的“1”表示“真”,“0”表示“假”。

    (1)或(OR)运算

    或运算又称逻辑加,运算符为“∨”或者“+”。运算规则是:

    0∨0=0

    O∨1=l

    1∨O=l

    1∨1=l

    也就是说,参加运算的逻辑值只要有一个为1,运算结果即为1,否则为0。

    (2)与(AND)运算

    与运算又称逻辑乘,运算符为“∧”或者“×”。运算规

    则是:

    0∧0=0

    0∧1=O

    1∧O=0

    1∧1=1

    也就是说,当参加运算的逻辑值均为1时,运算结果才为1,否则为0。(3)非(NOT)运算非运算即对每个二进制位的逻辑值取反,运算符为在二进制数字上方加一横线。运算规则是:

    0=1

    1=0

    (4)异或(XOR)运算异或运算即按位相加(不进位),运算符常记为Å。运算规则是:

    0Å0=0

    0Ål=1

    lÅ0=l

    lÅl=0

    可以看出,如果参加运算的两个逻辑值相同,运算结果为0,否则为l。下面举例说明二进制数的逻辑运算。

    设 X=10110101B Y=ll010110B

    则 X∨Y=11110111B

    X∧Y=10010100B

    XÅY=01100011B

    十进制数与二进制数的转换

    我们在日常生活和工作中使用十进制数,在计算机中使用二进制数,因此在计算机输入时要将十进制数转换为二进制数,在计算机输出时要将二进制数转换为十进制数。这种转换过程,是曲计算机自动完成的。为简便起见,这里我们只介绍整数间的转换。

    1.十进制数转换为二进制数

    整数的转换,通常采用除2取余法。即将十进制数依次除以2,再把每次得到的余数从后向前依次排列就得到相应的二进制数。例如:

    即 75=1001011B

    实际上,直接将十进制数用2的n次幂展开更为方便。例如:

    75=64+8+2+1

    =26×1+25×O+24×O+23×1+22×0+21×1+20×1

    =1001011B

    2.二进制数转换为十进制数

    将二进制数每一位的数值用十进制表达并相加即得到相应的十进制数。例如:

    11010010B=27×1+26×1+25×0+24×1+23×0+22

    ×O+21×1+20×1

    =128+64+16+2

    =210
    2019-07-17 22:57:22
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载