1、关于数制
十进制数、二进制数、十六进制数的每一位的权不同。权是a^n,(n为该位数右边位数的个数,如最低位的n是0,a是模数,二进制数a为2,十进制10,十六进制16...)【书上是a^(N-1),N为该位数所在位】
十进制转换为2进制,从高位到低位逐个求得,减去最接近的2的幂次方。从低位到高位逐个求得,先对2求余,得到最低位,再对商求余得到商的最低位,得到第2位,再对新商求余......整个过程可以理解为是对2求余,对4求余,对8求余,对16求余.......其实和从高到低求是一样的理解。
二进制转换为十进制、二进制和十六进制的相互转换很简单。
2、关于字节
8bit= 1 byte,word有32bit 64bit,等,所以1word = n byte = 8n bit
最低有效位,最低有效字节,最高有效位,最高有效字节。
3、二进制的原码、反码、补码
主要目的是为了解决负数的表示与计算。
正数的原码反码补码相同,负数的补码是反码+1。
取反可以理解是模数-绝对值-1。比如101取反是010,两者相加为7。
不考虑符号位,补码的数值位则是模数-绝对值。
补码的最高位的权是-2^(N-1),其他位同无符号二进制数。所以考虑符号位,补码则表示 模数-绝对值-2^(N-1),2^(N-1)就是模数,所以补码表示的意思就是 -绝对值,那么就是一个负数了。
如此以来就可以理解减法的补码表示。例如正数A-B(N位有符号数),用补码表示则是A+2^(N-1)-1-B+1=A-B+2^(N-1)。如果A>B,那么计算后输出进位cout一定为1,如果A<B,输出进位cout一定为0.
对负数求补码时,有两种方法,1,对其绝对值正数所有位取反,+1,2,理解成-2^(N-1)+补数。
比如-7,理解是-8+1,那就是1001。也可以是0111取反1000,再+1。但是当位数多时,比如8位数表示-3,就不好用方法2了,用方法1方便很多。0000_0011再取反+1得1111_1101。
对负数的补码求其值时,有两种方法,1,所有位取反+1,得到绝对值;2,用各位权直接相加。
判断相加溢出的条件:相加两个数符号相同,且结果的符合与被加数相反。
无符号原码表示范围 [0,2^N-1];
有符号原码表示范围 [-2^(N-1)+1,2^(N-1)-1];
二进制补码表示范围【-2^(N-1),2^(N-1)-1】
4、逻辑门的区分
非门、与门、或门、缓冲门、与非NAND、或非NOR、异或XOR、同或XNOR,多输入门。
5、数字抽象
电源电压 5V 3.3 2.5 1.8 1.5 1.2
逻辑电平与噪声容限 注意VDD VOH VOL GND 以及 VIH VIL的作用
有效输出被有效接收,正确判别,需要满足VOH>VIH,VOL<VIL。
VIL-VOL,VOH-VIH为低、高电平噪声容限。
噪声容限是为了判断噪声电压是否会影响输出。
直流电压传输特性。
静态约束,逻辑电平兼容性。 TTL CMOS LVTTL LVCMOS 其中LV是LOW VOLTAGE的意思 接触到时再查表。