计算机科学导论-数字系统

2020-12-01  本文已影响0人  大兄弟

引言

数字系统(数 码系统)定义了如何用独特的符号来表示一个数字。在不同的系统中有不同的表示方法。例如:(2A)16 和(52)8都是指同样的数量(42)10
我们可以用符号来表示数字,但是我们的符号是有限的。需要重复并组合它们来创建单词。下面我们看看位置化数字系统,如何通过数字,位置来表示数字。

位置化数字系统

位置化数字系统中,在数字中符号所占据的位置决定了其表示的值。在该系统中,数字这样表示:

± ( Sk-1 \cdots S2 S1 S0 . S-1 S-2 S-l ) b

它的值是:

n = ± Sk-1 × bk-1 + \cdots + S-1 × b-1 + S-2 × b-2 + S-l × b-l

十进制系统

在该系统中:
  1. 底b = 10。
  2. 用10个符号来表示一个数, 符号集S = {0,1,2,3,4,5,6,7,8,9}。
在十进制系统中,数字写为:

±(Sk-1\cdots S2 S1 S0 . S-1 S-2 \cdots S-l)10

整数(不带小数)

N = ± Sk-1 × 10k-1 + Sk-2 × 10k-2 + \cdots + S2 × 102 + S1 × 101 + S0 × 100

使用位置量

例1 :在十进制系统中使用位置量表示正整数+224

image.png

由上图可知,+224是三位数需要三个位置量,
个数位(k=1) 4 = 4 × 100=1-1
十位数(k=2) 20 = 2 × 101=2-1
百位数200 = 2 × 102=3-1

例2 :在十进制系统中使用位置量表示负整数-7508

image.png
由上图可知,-7508是四位数需要四个位置量
个位数(k=1) 8 = 8 × 100=1-1
十位数(k=2) 0 = 0 × 101=2-1
百位数(k=3) 4 = 4 × 102=3-1
千位数(k=4) 7 = 7 × 103=4-1
二进制、八进制、十六进制都是上面的逻辑,不同点在于:
  1. 底换成了2、8、16。
  2. 符号变成了二进制:{0,1} ;八进制:{0,1,2,3,4,5,6,7};十六进制:{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}


    image.png

四种位置化系统中的数字比较

四种位置化系统中的数字比较

进制转换

其他进制到十进制的转换
例1 将二进制数 (110.11)2 转换为十进制数6.75
image.png
例2 将十六进制数(1A.23)16 转换成十进制数26.137
image.png
例3 将八进制数(23.17)8 转换为十进制数。
image.png
十进制到其他进制的转换
整数部分 可使用连除
image.png
小数部分 可使用连乘
数码的数量

把数字从十进制转换到其他进制之前,我们需要通过k = [logbN]知道数码的数量。[x] 意味着最小的整数大于或等于x。也称为x的高限,N是该整数的十进制值。如下所示:

image.png
二级制--十六进制转换
二进制--八进制转换
八进制 -- 十六进制的转换
步骤如下

非位置化数字系统

非位置化数字系统仍然使用有限的数字符号,每个符号有一个值。但是符号所占用的位置通常与其值无关——每个符号都是固定的。
罗马数字是非位置化系统的好例子。

全文摘自《计算机科学导论》

上一篇下一篇

猜你喜欢

热点阅读