计算机从业-起始篇 | 第2章.计算机科学导论之【数字系统】学习笔记

设为「⭐️ 星标」带你从基础入门 到 全栈实践 再到 放弃学习!
涉及 网络安全运维、应用开发、物联网IOT、学习路径 、个人感悟 等知识分享。
希望各位看友多多支持【关注、点赞、评论、收藏、投币】,助力每一个梦想。

本章目录:
计算机科学导论学习笔记
第 2 部分 数据的表示和运算
2.数字系统
2.1 位置化系统
2.2 进制系统转换
(1) R 进制系统的表示 (R 可为 二、八、十、十六)
(2) R 进制间相互转换
2.1 任意进制转换为十进制
2.2 十进制转换为其他进制
2.3 二进制转八进制、十六进制
2.4 数码的数量
2.3 非位置化数字系统

第 2 部分 数据的表示和运算
描述:该部分包括第2、3和4章,我们分别进行如下学习。
第2章讨论了数字系统,数量如何能使用符号来表示。
第3章讨论了不同的数据如何存储在计算机中。
第4章讨论了一些基本的算术运算与位(逻辑)运算。
首发地址:https://mp.weixin.qq.com/s/RkQHKYM-b57CBlr553WZeg
2.数字系统
什么是数字系统?
用独特的符号(数码)来表示 一个数字 , 在不同的系统中,一个数字有不同的表示方法,使用有限的数字符号来表示数字,所以数码需要重复使用。
例如,(2A)16和(52)8都是指同样的数量(42)10,但是他们的表示截然不同。
常见的数字系统,阿拉伯数字系统 (0-9),罗马数字系统 (I I I I I I IV V VI VII .....).
数字系统分类: 主要分为两类分部是位置化系统(主要讲解)
和非位置化系统(简单提及)
2.1 位置化系统
在位置化数字系统中,数字中符号所占据的位置决定了其表示的值。
其中,S是一套符号集,b是底(或基数)等于S符号集中的符号总数,其中S1和Sk是代表分数部分或整个数字的符号,+、- 表示数字为正或者负。

2.2 进制系统转换
描述: 计算机由于其组成由成千上万个晶体管组成,通过其开/关
完成或记录各项操作,则计算机只能识别 0 和 1,所以计算机底层识别通常是二进制的数据。
所以在讨论学习位置化数字系统前,我们需要针对各进制系统的表示与转换做一个学习(此基础知识非常重要)
(1) R 进制系统的表示 (R 可为 二、八、十、十六)
描述:即在计算机数字系统常用进制系统是二进制 (Binary)、八进制(Octal)、十进制(Decimal)、十六进制(Hexadecimal)
,其原则为逢R进一。
二进制(Binary):源于拉丁词根bini(二),它只有 0 和 1 两个数表示,常用下标2或者B表示,例如:数值 3 的二进制表示为 (11)2 或者
11B
,计算机中数据通常是以二进制模式(串)存储与计算机中执行.八进制(Octal):源于拉丁词octo (八),由 0 ~ 7 八个数表示,常用下标8或者O表示,例如:数值 8 的八进制表示为 (10)8 或者
10O
.十进制(Decimal):源于拉丁词 decem (十) ,由 0 ~ 9 十个数表示,常用下标10或D表示,例如:数值 10 的十进制表示为 (10)10 或者
10D
,该进制适合人类阅读理解.十六进制(Hexadecimal):源于希腊词根hex (六) 和 decem(十),由 0 ~ 9 A ~ E (分别等于 10~15) 十六个数表示,常用下标10或H表示,例如:数值 30 的十进制表示为 (1E)16 或者
1EH
。

此处以人类方便理解的十进制系统(以10为底)
为例,进行讲解在整数、位置量、最大值、实数
相关概念
整数:即没有小数部分的整型数字。
位置量:即用底(或者基数)的幂运算进行表示。例如,10的幂(10^0 , 10^1 , ~ , 10^(k-1))
最大值:即使用数字K来表示十进制整数的最大值位数。例如,当k为5位时,其Nmax = 105 - 1 = 99 999
实数:即小数点后的部分数字,在十进制中小数点(
.
)是用于分割整数和小数部分的。

十进制系统(以10为底)示例演示:
为了方便比较,此处再以计算机常用的二进制系统(以2为底)进行整数与实数进行讲解,可以如下图所示中得到计算的相关表达式,相比较于十进制只是将基数进行改变了,所以说八进制与十六进制的计算便不展开说明了。

二进制系统(以2为底)示例演示:
温馨提示: 计算机存储正负数的方式是不同的。(后续会有介绍)
(2) R 进制间相互转换
最常用的方式就是按权展开
或者是 8421码
快速进行进制的转换。
例如,将 (123)10 以按权方式展开。
2.1 任意进制转换为十进制
其它进制转换为十进制是简单而迅速的,将数码乘以其在源系统中的位置量并求和便得到十进制中的数.

示例演示:
2.2 十进制转换为其他进制
将十进制转换到其他等值的其他进制,需要两个过程即整数部分
和小数部分
。

整数部分:在进行整数部分的转换可使用连除法。
例如,将 (58)10 转换为二进制的方法,此处采用除积倒取余
(连除)法(也适于八进制、十六转换只是将连除的除数为基数),进行连除以2得到商和余数,当然日常使用8421码更为简单与二进制互换,此处主要讲解的是方式方法而已。
小数部分:在进行小数部分的转换可使用连乘法,此处需要非常注意某些考试常常考带小数的转换。
快速将十进制(通常小于256)为二进制数间的互相转换方法。
例如,将 (111010)2 转换为十进制的方法(位权 与 8421码),将展开的位权进行相加,其结果为 32 + 16 + 8 + 2 = (58)10,应用此方法可以快速进行 十进制与二进制间的互换

由上表可知,根据十进制对等的值排列这些分数,由于1/2 与 1/16缺失,我们使用了0代替,所以其二进制结果为 (0.011011)2
2.3 二进制转八进制、十六进制
我们能轻松将数字从二进制转换到八进制,反之亦然。这是因为在这两个底之间存在一种关系:二进制中的3位恰好是八进制中的1位。
例如,将(111010)2 转换为八进制方法: 从右往左起每逢三位二进制转1位八进制,当不足三位的在最左边添0补齐,反之八转二,每一位八进制转换为三位二进制位表示,其结果为(72)8。
我们能轻松将数字从二进制转换到十六进制,反之亦然。这是因为在这两个底之间存在一种关系:二进制中的4位恰好是十六进制中的1位。
例如,将(111010)2 转换为十六进制方法: 从右往左起每逢四位二进制转1位十六进制,当不足四位的在最左边添0补齐,反之十六转二,每一位十六进制转换为四位二进制位表示,其结果为(31)16。
温馨提示:如果需要将数字从八进制转换到十六进制,我们可以使用二进制系统作为临时中介系统。
2.4 数码的数量
在进行十进制转换为其他系统进制时我们可能需要知道数码的数量,我们可以通过 k=logbN 的关系(k 是以b为底N的对数,N = b^k)进行计算,其 中b为基数(底数)、N为该数值的整数的十进制。
例如,我可以找到十进制数 234 转换为 2、8、10、16进制中所占的对应位数。
十进制 k= log10234 = 2.37 = 3 位数
二进制 k= log2234 = 7.8 = 8 位数,即 234 = (1110 1010)2
八进制 k= log8234 = 2.62 = 3 位数 ,即 234 = (352)8
十六进制 k= log16234 = 1.96 = 2 位数,即 234 = (EA)16
在从一个底装换为另外一个转换中,我们需要知道源系统数码
的最大数量(b1^k-1, 其中b1是源数码基数,使用k个数码),意味着目标系统拥有的最大数是( b2^x - 1 ,其中 b2是目标数码基数,使用x个数码来装载源系统的值),因此其关系是 b2^x - 1 ≥ b1^k-1 (b2^x ≥ b1^k ),其表达式为 x ≥ k * (logb1 / logb2) 。
例如,找出二进制(目标数码)数码最小数,用于存储一个最大的6个数的十进制数(源目标数码)。
即k=6, b1=10, b2=2 , 即 x = 6 *(log10 / log2) = 6 * ( 1 / 0.30103 ) = 20,即我们需要20位二进制数(1 048 575)来存放6位10进制数码最大值(999 999)。
2.3 非位置化数字系统
非位置化数字系统仍然是使用有限的数字符号,每个符号对应一个值,其所在的位置通常与其值无关,因为每个符号值都是固定的
。
为了求得该数字的值,可以把所有符号表示的值进行相加,但是需要遵循特定法则将符号值进行相加。
大值 ≥ 小值 ,其
大值在前,小值在后
是直接相加即可, 例如 VII = 5 + 1 + 1大值>小值 ,其
小值在前,大值在后
时用大值减去小值,例如 IV = 5 - 1当 S1 > 10 * S2,则符号S2不能在符号S1之前,例如 I 和 V 不能在C之前,因为 100 ≥ 10 * 1 以及 100 ≥ 10 * 5.
当在6种符号(除I以外的所有符号)中的任意一个上方加横杠表示乘以1000,如下图所示
在罗马数字在其系统中缺少码0,尽管罗马人适用单词nulla表示零的概念。

本文至此完毕,更多技术文章,尽情期待下一章节!
原文地址:https://blog.weiyigeek.top/2022/6-1-693.html
亲,文章都看完了,不关注一下吗?
如果此篇文章对你有帮助,请你将它分享给更多的人!

学习书籍推荐 往期发布文章


作者答疑学习交流群:欢迎各位志同道合的朋友一起学习交流关注UP主后回复【学习交流群】。
🌐欢迎加入交流学习群:https://weiyigeek.top/visit.html
【WeiyiGeek Blog's - 花开堪折直须折,莫待无花空折枝 】
作者主页:【 https://weiyigeek.top 】
博客地址:【 https://blog.weiyigeek.top 】
作者交流(wechat):weiyigeeker
公众号(wechat):全栈工程师修炼指南
温馨提示: 由于作者水平有限,本章错漏缺点在所难免,希望读者批评指正,并请在文章末尾留下您宝贵的经验知识,联系邮箱地址 master@weiyigeek.top 或者 UP主 、UP主 联系我。