计算机中的数制

 我来答
天罗网17
2022-07-08 · TA获得超过6180个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:72.5万
展开全部

数制是指数的制式,是人们利用符号计数的一种科学方法。

在计算机中常用的数制有十进制、二进制、八进制和十六进制等。

十进制是我们经常用到的进位数制,它包括: 0、1、2、3、4、5、6、7、8、9 共十个数字符号。这十个数字符号又称为“数码”,每个数码在数中最多可有两个值的概念,一个是数字符号的数值,另一个是该数字符号的权。

举个例子,例如:十进制数 34 中的数码 3 ,其本身的值为 3 ,它的权为 10^1 ,所以它实际代表的值是 30 。在数学上,数制中数码的个数定义为基数,故十进制的基数为 10 。

任何一个十进制数都可以展开成幂级数形式,例如:

二进制总共有 0 和 1 两个数码,任何二进制数都由这两个数码组成。

二进制数的基数为 2 ,做加法时,遵循逢 2 进 1 的进位原则。

二进制展开成幂级数形式,如下所示:

其中,指数 2^4、2^3、2^2、2^1、2^0、2^-1、2^-2 为权, 2 为基数,其余和十进制时相同。

十六进制有 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 共 16 个数码,任何一个十六进制数都是由其中的一些或全部数码构成。

十六进制数的基数为 16 ,进位计数为逢 16 进 1 。

十六进制展开成幂级数形式,例如:

为了区分不同的数制,通常在被标记数后,加上 B、D、H 大写字母用来表示二进制、十进制和十六进制。其中十进制的 D 可以省略。

二进制数转换成十进制数只要把要转换数按权展开后相加即可。例如:

十进制数转换成二进制数的转换过程是上述转换过程的逆过程,但是十进制整数和小数转换成二进制整数和小数的方法是不同的。

常用的方法是 除2取余法 ,首先用 2 除要转换的十进制数,得到一个商和一个余数,然后继续用 2 除上次得到的商,直到商为 0 为止,最后把各次余数按最后得到的为最高位,最早得到的为最低为,依次排列起来便得到所求的二进制数。

举例说明:求出 231 所对应的二进制数,其竖式为:

按照上图箭头方向将余数排列可得: 231 = 11100111B

十进制小数转换成二进制小数通常采用 乘2取整法 ,首先用 2 去乘要转换的十进制小数,将乘积结果的整数部分提出来,然后继续用 2 去乘上次乘积的小数部分,直到所得积的小数部分为 0 或满足所需精度为止,最后把各次整数按最先得到的为最高位、最后得到的为最低位,依次排列起来便得到所求的二进制小数。

举例说明:把十进制小数 0.6879 转换为二进制小数,其解法为:

按照上图箭头方向将整数排列可得: 0.6879 ≈ 0.1011B

需要注意的是:任何十进制整数都可以精确地转换成一个二进制整数,但任何十进制小数却不一定可以精确地转换成一个二进制小数。

十六进制数转换成十进制数的方法和二进制数转换成十进制数的方法类似,即把十六进制数按权展开后相加,例如:

十进制整数转换成十六进制整数,采用的是 除16取余法 。和十进制转成二进制的方法类似,用 16 连续去除要转换的十进制整数,直到商数小于 16 为止,然后把各次余数按逆序排列起来所得的数,便是所求的十六进制数。

举例说明:把十进制数 3901 转换成十六进制数,其解法为:

因此, 3901 = F3DH

十进制小数转换成十六进制小数的方法是 乘16取整法 ,即把欲转换成十六进制小数的十进制小数连续乘以 16 ,直到所得乘积的小数部分为 0 或达到所需精度为止,最后把各次整数按最先得到的为最高位,最后得到的为最低位,依次排列起来便得到所求的十六进制小数。

举例说明:求 0.76171875 所对应的十六进制数,其解法为:

因此, 0.76171875 = 0.C3H

二进制和十六进制间的转换十分方便,这就是为什么人们要采用十六进制对二进制加以表达的原因了。

二进制数转成十六进制数采用 四位合一位法 ,即从二进制的小数点开始,或左或右每四位一组,不足四位以零补位,然后分别把每组用十六进制数码表示,并按序相连。

举例说明:将 1101111100011.10010100B 转成十六进制数,其解法为:

因此, 1101111100011.10010100B = 1BE3.94H

转换方法是把十六进制数的每位分别用四位二进制数码表示,然后把它们连成一体。

举例说明,把十六进制数 3AB.7A5 转成二进制数,其解法为:

因此, 3AB.7A5H = 1110101011.011110100101B

在计算机中,运算分为算术运算与逻辑运算两类。算术运算包括:加、减、乘、除运算;逻辑运算包括:逻辑乘、逻辑加、逻辑非、逻辑异或等。

二进制的加法法则是:

二进制的减法法则是:

两个二进制数相减时,要先判断它们的大小,把大数作为被减数,小数作为减数,差的符号由两数关系决定。

在减法过程中要注意低位向高位借的 1 应当作 2 。

二进制乘法法则是:

两个二进制数相乘与两个十进制数相乘类似,可以用乘数的每一位分别去乘以被乘数,所得结果的最低位与相应乘数位对齐,最后把所有结果加起来,便得到积。

举例说明:两个四位的二进制数 1101B 和 1001B 相乘,其解法为:

在计算机中,普遍采用部分积左移和部分积右移的方法。前者从乘法最低位向高位逐位进行,后者从乘法最高位向低位进行,其本质异曲同工。

部分积右移法采用边相乘边相加的方法,每次加被乘数或 0 时总要先使部分积右移,而被乘数的位置可保持不变。

除法是乘法的逆运算,二进制除法也是从被除数的最高位开始,查找出够减除数的位数,并在其最低位处上商 1 和完成它对除数的减法运算,然后把被除数的下一位移到余数位置上;若余数不够减除数,则上商 0 ,并把被除数的再下一位移到余数位置上;若余数够减除数,则上商 1 并进行余数减除数。这样重复进行,直到全部被除数的各位都下移到余数位置上为止。

逻辑运算由专门的逻辑电路完成。

逻辑乘又称逻辑与,常用 ʌ 符号表示。逻辑乘运算法则为:

逻辑加又称逻辑或,常用算符 v 表示。逻辑加的运算规则为:

逻辑非运算又称逻辑取反,常采用 - 运算符表示。运算规则为:

逻辑异或又称为半加,是不考虑进位的加法,常采用 ⊕ 算符表示。逻辑异或的运算规则为:

异或运算可用于把某数的若干位取反。异或运算还可用于乘除法运算中的符号位处理。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式