计算机科学导论 笔记二 【机械工业出版社·原书第二版】
第二章:数字系统
数字系统(数码系统):位置化系统(positional number system),非位置化系统(nonpositional number system)
位置化系统:在数字中符号所占据的位置决定了其表示的值,如十进制系统,二进制系统,十六进制系统,八进制系统
非位置化系统:仍然使用有限的数字符号,每个符号有一个值,如罗马数字
掌握:十进制与其他进制的转换(正负数,小数);其他进制到十进制的转换(求商找余数法,从右至左;小数部分则是连乘法,从左至右,注意要求精确的位数);其他进制之间的转化
注意:1.数码的数量,通过 k = 「logьN] 找到一个整数的数码数量,其中「x] 意味着最小的整数大于或等于x,即 x 的高限
2.二进制到十六进制的转换:二进制中的四位正好是十六进制中的一位,及从右到左每四位数化为一位十六进制数;同理,二进制到八进制的转化时二进制的每三位数化为八进制的一位
3.八进制到十六进制的转换:先转换为二进制再转换为十六进制,反之亦然
在从一个底到另一个底的转换中,如果我们知道源系统码的最大数量,就能知道我们在目标系统中所需用到的数码的最小数量。
例如,如果在源系统中我们知道最多使用 6 个十进制数码,那么在目标系统中我们就知道要使用二进制数码的最小数量。
通常,假设在以 b1为底的系统中使用 k 个数码,在源系统中显示的最大数是 b1^k-1。在目标系统中拥有的最大数是b2^x-1,
有公式:x = 「 k * (logb1/logb2)]
例:找出二进制中的最小码数,用于存储一个最大6个数码的十进制整数
解 k = 6,b1 = 10,b2 = 2,且 x = 「 k * (logb1/logb2)] = 「 6 * (1/0.30103 )] = 20
最大的6数码十进制数为 999 999,并且最大的20位二进制数是1048575,可以用19位数表示的最大的数是524287,比999 999小。因此必须需要二十位。
底:base 位:bit 位置量:place value
二进制数码:binary digit 二进制系统:binary system
十进制数码:decimal digit 十进制系统:decimal system
十六进制数码:hexadecimal digit 十六进制系统:hexadecimal system
八进制数码:octal digit 八进制系统:octal system
数字罗马系统:Roman number system