计算机上的二进制是怎么算的?
发布网友
发布时间:2022-04-21 12:00
我来回答
共2个回答
热心网友
时间:2022-07-10 08:56
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二加法
有四种情况: 0+0=0
0+1=1
1+0=1
1+1=0
0 进位为1
【例1103】求 1011(2)+11(2) 的和
解:
1011+11
1011+11[1]
乘法
有四种情况: 0×0=0
1×0=0
0×1=0
1×1=1
减法
0-0=0,1-0=1,1-1=0,0-1=1。
除法
0÷1=0,1÷1=1。
拈加法
拈加法二进制加减乘除外的一种特殊算法。
拈加法运算与进行加法类似,但不需要做进位。此算法在博弈论(Game Theory)中被广泛利用
计算机中的十进制小数转换二进制
计算机中的十进制小数用二进制通常是用乘二取整法来获得的。
比如0.65换算成二进制就是:
0.65 × 2 = 1.3 取1,留下0.3继续乘二取整
0.3 × 2 = 0.6 取0, 留下0.6继续乘二取整
0.6 × 2 = 1.2 取1,留下0.2继续乘二取整
0.2 × 2 = 0.4 取0, 留下0.4继续乘二取整
0.4 × 2 = 0.8 取0, 留下0.8继续乘二取整
0.8 × 2 = 1.6 取1, 留下0.6继续乘二取整
0.6 × 2 = 1.2 取1,留下0.2继续乘二取整
.......
一直循环,直到达到精度*才停止(所以,计算机保存的小数一般会有误差,所以在编程中,要想比较两个小数是否相等,只能比较某个精度范围内是否相等。)。这时,十进制的0.65,用二进制就可以表示为:1010011。
还值得一提的是,在计算机中,除了十进制是有符号的外,其他如二进制、八进制、16进制都是无符号的。
在现实生活和记数器中,如果表示数的“器件”只有两种状态,如电灯的“亮”与“灭”,开关的“开”与“关”。一种状态表示数码0,另一种状态表示数码1,1加1应该等于2,因为没有数码2,只能向上一个数位进一,就是采用“满二进一”的原则,这和十进制是采用“满十进一”原则完全相同。
1+1=10,10+1=11,11+1=100,100+1=101,
101+1=110,110+1=111,111+1=1000,……,
可见二进制的10表示二,100表示四,1000表示八,10000表示十六,……。
二进制同样是“位值制”。同一个数码1,在不同数位上表示的数值是不同的。如11111,从右往左数,第一位的1就是一,第二位的1表示二,第三位的1表示四,第四位的1表示八,第五位的1表示十六。
所谓二进制,也就是计算机运算时用的一种算法。二进制只由一和零组成。
比方说吧,你上一年级时一定听说过“进位筒”(“数位筒”)吧!十进制是个位上满十根小棒就捆成一捆,放进十位筒,十位筒满十捆就捆成一大捆,放进百位筒……
二进制也是一样的道理,个位筒上满2根就向十位进一,十位上满两根就向百位进一,百位上满两根…… 二进制是世界上第一台计算机上用的算法,最古老的计算机里有一个个灯泡,当运算的时候,比如要表达“一”,第一个灯泡会亮起来。要表达“二”,则第一个灯泡熄灭,第二个灯泡就会亮起来。
二进制就是等于2时就要进位。
0=00000000
1=00000001
2=00000010
3=00000011
4=00000100
5=00000101
6=00000110
7=00000111
8=00001000
9=00001001
10=00001010
……
即是逢二进一,二进制广泛用于最基础的运算方式,计算机的运行计算基础就是基于二进制来运行。只是用二进制执行运算,用其他进制表现出来。
其实把二进制三位一组分开就是八进制, 四位一组就是十六进制
热心网友
时间:2022-07-10 08:56
1+1+1+1
就是那么实现的
对应位数相加
0000
0001
+
0000
0001
=
0000
0010
除非是
1-1
计算机中
负数一般使用
补码形式
比如8位二进制表示
1
-
0000
0001
-1
-
1111
1111
1
-
1就是
1
+
(-1)
0000
0001
+
1111
1111
=
1
0000
0000
由于是8位二进制表示
第9位1
舍去
就是
0000
0000
补码中表示
0(同原码中0)
补码和原码要搞清楚
正整数用原码表示
即
原码就是其二进制表示形式
而
补码是
用二进制表示最高位数
n
2的n次方
(也就是1
后面
n个零)减去其
绝对值二进制表示部分
比如
-2
用
8位二进制补码表示:
2^8
=
1
0000
0000
-
0000
0010
=
1111
1110
-2
+
1
=
1111
1110
+
0000
0001
=
1111
1111
=
-1
可见
8位二进制虽然是
8位
但是首位用于做
符号
标志,所以可以表示的正数最大为
0
111
1111
也就是127
可以表示的负数最大为
1
000
0000
也就是
-128