西方哲学简史赵敦华pdf:单片机相关知识
要点:
1.将数“数码化”,原数前“+”用0表示,原数前“-”用1表示,数值部分为该数本身,这样的机器数叫原码。
1、 机器数与真值
机器只认识二进制数:0、1。
这是因为,电路状态常有两个,如通、断;高电平、低电平;…可用0、1表示。
这种0、1、0、1…1在机器中的表现形式——机器数。一般为8位。
机器数有:
带符号数:+1010110B、-1101001
2、 机器数的编码及运算
对带符号数而言,有原码、反码、补码之分,计算机内一般使用补码。
1) 原码
将数“数码化”,原数前“+”用0表示,原数前“-”用1表示,数值部分为该数本身,这样的机器数叫原码。
设X——原数;则[X]原 = X(X
[X]原 = 2n-1 – X (X
如,[+3]原 = 00000011B
[-3]原 = 27 - (-3) = 10000011B
原码最大、最小的表示:+127、-128
2) 反码
规定正数的反码等于原码;负数的反码是将原码的数值位各位取反。
[X]反 = X (X
[X]反 =(2n –1)+ X (X
如,[+4]反 = [+4]原 = 00000100 B
[-4]反 = (28 –1)+(-5) = 11111111- 00000101 = 11111010 B
反码范围:-128 ~ +127
两个0; +0 —— 00000000 B
-0 —— 11111111 B
3)补码
补码的概念:现在是下午3点,手表停在12点,可正拨3点,也可倒拨9点。即是说-9的操作可用+3来实现,在12点里:3、-9互为补码。
运用补码可使减法变成加法。
规定:正数的补码等于原码。
负数的补码求法:1)反码+ 1
2)公式:[X]补 = 2n + X (X<0)
如,设X = - 0101110 B , 则[X]原 = 10101110 B
则[X]补 = [X]反 + 1 = 11010001 + 00000001 = 11010010 B
如,[+6]补 = [+6]原 = 00000110 B
[-6]补 = 28 + (-6) = 10000000 – 00000110 = 11111010 B
8位补码的范围 –128 ~ +127。
0 的个数:只一个,即00000000
而10000000 B是-128的补码。