一. 二—十进制码(BCD码)二—十进制码: 就是用二进制码表示十进制的各个数码, 简称BCD码。\uf028\uf02910109 . 2!1016!16\uf0b4\uf03d\uf02d (1) 有权码。 例: 8421, 2421, 5211, 631-1(3) 无权码。 例: 格雷码(循环性, 互补性)(2) 偏权码。 例: 余3码分:\uf028\uf029\uf028\uf029码BCD842110100110000111789\uf03d例: 二.格雷码两个重要特性:1. 循环特性: 各相邻代码只有一个码元发生变化(即代码的距离均为1) ——又称为单位距离码。2.反对特性: 若以格雷码的最高位0和1的交界处为对称轴, 处于轴对称位置的各对代码除最高位不同外, 其余各位均相同。利用反射特性, 可以很方便地构成不同码长的格雷码。举例 3.与自然二进制之间的转换\uf0ec\uf0c5\uf03dbg 01012123233\uf0ef\uf0ee\uf0ef\uf0ef\uf0ef\uf0ed\uf0c5\uf03d\uf0c5\uf03d\uf03dbbgbbbgbg\uf0ef\uf0ee\uf0ef\uf0ef\uf0ef\uf0ed\uf0ec\uf0c5\uf0c5\uf0c5\uf03d\uf0c5\uf0c5\uf03d\uf0c5\uf03d\uf03d01230123123233ggggbgggbggbgb\uf0c5称为异或运算, 规则: 相同为0,不同为1例1: 已知十进制数24, 写出其格雷码。\uf028\uf029\uf028\uf0291100024\uf03d由十进制数写出其等值的二进制数, 进而可得到格雷码\uf028\uf029g21010100\uf03d例2: 已知写出11010123\uf03dgggg0123bbbb10010123\uf03dbbbb 三.多 位十进制BCD码000100110110110110000101 13\uf03d\uf02b\uf03d\uf02b85\uf03d\uf03d\uf02b\uf02b1000 0101 0000 0110 0110 -1110 1011 0000 0101 0101 0000-0011 0001 0001 (2) 减法: 产生借位时, 减6修正。(1) 加法: 结果大于9, 或产生进位需加6修正。例:17890001011101101000110001001\uf03d\uf02b\uf03d\uf02b例: 113-55=58 四.常符号数的代码表示1. 机器数与真值在数字电路中, 每一位二进制数的0和1都是用一个基本逻辑单元的两个状态来表示的, 那么数的符号(正或负) 又如何表示呢? 显然也只能用0和1表示, 一种最简单的表示方法, 就是在数的前面增加一个符号位, 0表示正数, 1表示负数。例: +25, 机器数为00011001(设码长为8位)-25, 机器数为10011001 (设码长为8位)机器数的三种常见形式:原码, 反码, 补码 2. 原码正数的原码与真值相同。负数的原码等于真值绝对值最高位上加1\uf05b \uf05dX\uf0ee\uf0ed\uf0ec\uf03c\uf02b\uf0b3\uf03d\uf02d0201XXXXn原即:原码的优点是直观, 而且便于乘法运算。3. 补码\uf05b \uf05dX\uf0ee\uf0ed\uf0ec\uf0a3\uf02d\uf0b3\uf03d0X 20X XXn补即: \uf05b\uf05b\uf05b\uf05d\uf05b\uf05d \uf05b\uf03d\uf05d\uf05b\uf05d补反原+=+=25250001100125\uf02b\uf05b \uf05dX反\uf0ee\uf0ed\uf0ec\uf0a3\uf0b3\uf03d0X 0X XX即:\uf05d\uf05b\uf05b11100110\uf05d \uf05b-\uf05d1001100125=原\uf02d4. 反码补码等于反码+1减去一个正数可以当作加上一个负数(补码)例: 求+25, -25的原码, 反码, 补码, 码长8位\uf05d\uf05b\uf05d 1110011125=补\uf05d25- =反 5. 补、 反码在加减运算时的差别例1: X=26 Y=21 字长为8 求: X-Y补码:1000001011110101100011010 \uf02b反码:100000100 1110101000011010 \uf02b自动丢失00000101X-Y=X+(-Y) 例2. 求: Y-X=Y+[-X]11111011 1110011000010101 \uf02b-5补码:反码:11111010 1110010100010101 \uf02b-5因为补码运算无循环进位, 比反码简单, 故应用较广。 \uf028\uf0282\uf029\uf029\uf028\uf028\uf029\uf029\uf028\uf029\uf0ef\uf0ee\uf0ef\uf0ed\uf0ec\uf02d\uf02b\uf02d\uf02b\uf02dn\uf02d\uf02d\uf02b\uf02d\uf02d\uf02d\uf02d\uf02d\uf02d121212121211n1n1n1n1n\uf04c\uf04c\uf04c补码: -反码: -原码: -6. 溢出设字长为4, 则在补码表示时, 允许的数值范围为-8到+7。即: 1000—0111