计算机软件基本概念与进制的概念是什么

57次阅读
没有评论

共计 4506 个字符,预计需要花费 12 分钟才能阅读完成。

这篇文章主要讲解了“计算机软件基本概念与进制的概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“计算机软件基本概念与进制的概念是什么”吧!

第一章 计算机基础

本部分主要介绍计算机相关的知识,重点介绍和软件编程相关的基础知识。

其实对于编程来说,计算机的基础是越多越深就越好,但是受时间和精力的限制,每个人了解的其实还是很有限,下面就主要编程中常用的基础知识,遗漏的地方请大家积极指正和补充。

计算机本质的结构就是将所有的内容数据化,其实软件编程也采用的是同样的逻辑,把各种需要保存的状态数字化。

1.1 计算机软件基本概念

软件的概念

大家都知道,计算机分为硬件和软件,其实看得见摸得着的算硬件,比如硬盘、主板什么的,摸不着的就算软件了。

按照专业点的说法,软件就是一组指令序列,那么如何理解他呢?举个基本的例子,比如大家到学校报名,学校会给你一个单子,一般上面会写,首先到哪里缴费、然后领证件,体检什么的,反正至少也有那么 10 多条,如果把每条操作都看成指令的话,这个就是软件的本质。

或者按照冯。诺伊曼的计算机体系,计算机就是接受输入,进行处理,反馈结果,其实软件也是这样,提供界面接受用户的输入,根据逻辑进行处理,把结果反馈给用户,无论是普通的软件还是游戏都是这样。

计算机为什么是二进制的?

众所周知,现在的计算机都是以二进制存储和运算数据的,那么为什么是二进制而不是常见的十进制呢?

原因很简单,因为现在的计算机是电子计算机,内部只有两个状态,所以就依据这两个状态创建了一种新的进制形式——二进制。这样极大的简化了电子计算机的结构,可以用电流的有无、光线的有无以及磁性的有无等状态来实现数学上的二进制。数学上用 0 和 1 来分别代表这两个状态罢了。

当然,随着科学的发展,以后计算机不再是电子计算机了,那么二进制也可能就消失了。

计算机存储单位

既然计算机是电子计算机了,那么存储的最小单位就是一个二进制位,英语是 bit,简写成 b. 一位只有 2 个值,0 或者 1. 由于位的单位太小,所以就设计了另外一个概念——字节,英语是 byte,简写成 B. 规定 1 个字节是 8 位,即 1B=8b. 比如大家接触的 8 位机、16 位机等等,就是指 CPU 一次处理的最小的数据单位。

再大点的单位就依次是 KB、MB、GB 和 TB 了,他们之间的进制都是 2 的 10 次方,也就是 1024,也就是 1KB=1024B,1MB=1024KB. 这里简单的说一个实际问题,大家买硬盘的时候,比如 160GB,这里厂商使用的进制是 1000,而不是 1024,所以 160 个 GB 格式化以后就大概只有:(160 X 1000 X1000 X1000)/ 1024/1024/1024 = 149GB

Java 编程那些事儿——进制的概念

Java, Java 培训, Java 基础, Java 学习, Java 教程

1.2 进制的概念

因为不可能为每个数值都创造一个符号,所以需要用基本数字组合出复合的数值,这样就有了进制的概念。

其实所有进制都是人为的创造,都是用来计数方便的。现在最常用的进制是十进制,当然其它的进制也在使用中。例如“半斤八两”这个成语,就反映了古代一斤等于十六两的概念,也就是十六进制计数方式。

计算机编程中常用的进制有二进制、八进制、十进制和十六进制,十进制还是最主要的表达形式。在编程中,大家书写的数值默认为十进制。

对于进制,有两个最基本的概念:基数和运算规则。

l 基数基数指一种进制中组成的基本数字,也就是不能再拆分的数字。例如十进制是 0 -9,二进制是 0 和 1,八进制是 0 -7,十六进制是 0 -9,A-F(大小写均可)。或者可以简单的这样记忆,假设是 n 进制的话,基数就是 [0,n-1] 的数字,基数的个数和进制值相同,十进制有十个基数,依次类推。

l 运算规则运算规则就是进位或借位规则,这个类似于一般计算机书籍中位权的概念,例如对于十进制来说,该规则是“满十进一,借一当十”,也就是低位的数字满十了向高位进一,从高位借到的一,相当于低位上的十。其它的进制也是这样,对于二进制来说,就是“满二进一,借一当二”,八进制和十六进制也是这样。

在数学上表示一个数字是几进制,通常使用如下格式:[数值]进制数,例如[10]2 表示二进制数值 10. 1.2.1 二进制二进制是计算机内部数据表示的形式,所以学习计算机编程必须熟悉二进制。熟悉二进制有以下几个用途:l 更容易理解计算机的数据存储方式计算机内部的很多转换,例如数据类型之间的强转,都可以用二进制解释最终的结果的值。

1.2.1 二进制

的运算速度高二进制的运算速度比十进制高的多。例如求 2 的 n 次方,通过移位实现的效率比数学方法高效。

l 使用二进制数值进行数据存储以二进制的形式存储数值,一个是比较节约资源,可以使用二进制的位来存储信息,例如常见的硬件控制信息,都是二进制的形式进行提供的。

如前所述,二进制包含 0 和 1 两个基数,运算规则是“满二进一,借一当二”,下面简单的介绍一下二进制的计数方式。

例如十进制的 0 - 9 用二进制进行表达,则依次是:0,1,10,11,100,101,110,111,1000,1001 说明:数值之间使用逗号进行间隔。

下面是二进制的一些基本运算结果:

加法运算

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10

减法

0 – 0 = 0

0 – 1 = -1

1 – 0 = 1

1 – 1 = 0

乘法

0 × 0 = 0

0 × 1 = 0

1 × 0 = 0

1 × 1 = 1 l

除法

0 / 0 无意义

0 / 1 = 0

1 / 0 无意义

1 / 1 = 1

以下是一些符合的表达式:110 + 111 = 1101 这些基本的运算结构在实际开发中一般不会直接用到,但是通过这些内容可以加深对于二进制概念的理解。

1.2.2 二进制和十进制之间的转换

由于计算机内部的数据是以二进制进行表达的,而十进制又是日常生活中最常用的进制,所以它们之间经常需要进行转换。下面介绍一下转换的方式。

1.2.2.1 十进制转换为二进制

十进制整数转换为二进制有三种方法,分别是除二取余、计算器转换和经验法。十进制小数的转换方法最后做简单的介绍。

1. 除二取余法除二取余法是转换时的最基本方法,也是最通用的方法。规则为:使用十进制和 2 去除,取每次得到的商和余数,用商继续和 2 相除,直到商为零为止,第一次得到的余数作为二进制的低位,最后一次得到的余数作为二进制的高位,由余数组成的数字就是转换后二进制的值。例如十进制的 13 转换为二进制的计算步骤如下:

商 余数

13 / 2 = 6 1

6 / 2 = 3 0

3 / 2 = 1 1

1 / 2 = 0 1

则计算的最终结果就是 1101. 2. 

计算器转换

Windows 操作系统中的计算器也可以很方便的实现进制之间的转换。在程序菜单中附件子菜单中打开计算器,从打开的计算器的查看菜单中,选择“科学型”,输入你要转换的十进制的数字,例如 13,然后界面上数字显示框西侧的“二进制”,则转换后的数值就直接显示在计算器中。

经验法

对于二进制熟悉以后,那么计算十进制对应的数字可以通过一些基本的数学变换来实现,在使用经验法以前,必须熟记 2 的 0 -10 次方对应的十进制的值,依次是:1,2,4,8,16,32,64,128,256,512,1024 则转换一些特殊的数字时可以极大的提高转换速度,例如数字 65,则可以这样转换:65 = 64 + 1 64 对应的二进制形式为 1000000 1 对应的二进制形式为 1 则 65 的二进制形式为 1000001 这个只适合转换一些特殊的数字,适应性没有除二取余法广泛。

十进制小数的转换采用的一般方法是乘二取整法,规则为:对于小数部分先乘二,然后获得运算结果的整数部分,然后将结果中的小数部分再次乘二,直到小数部分为零为止,则把第一次得到的整数部分作为二进制小数的高位,后续的整数部分作为地位就是转换后得到的二进制小数。需要说明的是,有些十进制小数无法准确的用二进制进行表达,所以转换时符合一定的精度即可,这也是为什么计算机的浮点数运算不准确的原因。

例如 0.25 转换为二进制小数的步骤如下:整数部分 0.25 × 2 = 0.5 0 0.5 × 2 = 1.0 1 则 0.25 转换为二进制小数为 0.01 如果一个十进制数字既有整数部分,也有小数部分,则分开进行转换即可。

1.2.2.2 二进制转换为十进制

二进制转换为十进制采用的方法是:数字乘位权相加法。下面先以十进制为例来说明该方法,例如十进制数字 345 的值,5 的位权是 1,4 的位权是 10,3 的位权是 100,则有如下表达式成立:345=5 × 1 + 4 × 10 + 3 × 100,这就是数字乘位权相加法的原理。

其实对于十进制整数的位权很有规则,从右向左第 n 位的位权是十的(n-1)方,例如个位是 10(1-1),十位是 10(2-1),依次类推。那么二进制整数的位权规律和这个一致,也就是从右向左第 n 位的位权是二的(n-1)方。

例如二进制整数 1011 转换为十进制的表达式为:[1011]2 = 1 × 20 + 1 × 21 + 0 × 22 + 1 × 23 = 1 + 2 + 0 + 8=11 而对于二进制的小数,也是采用一样的方法,只是二进制小数的位权规则为,小数点后第一位小数的位权是 2 的 - 1 次方,第二位是 2 的 - 2 次方,依次类推。

例如二进制小数 0.1101 转换为十进制小数的表达式为[0.1101]2=1 ×2-1 + 1 ×2-2 + 0 × 2-3 + 1 × 2-4 = 0.5 + 0.25 + 0 + 0.0625=0.8125 同理,如果二进制包含整数和小数部分,则分开进行转换即可。

1.2.3 二进制和八进制、十六进制之间的转换

虽然二进制是计算机内部的数据表达形式,但是由于二进制基数太少,则导致数字比较长,为了简化数字的书写,就创建了八进制和十六进制。八进制和十六进制就是对二进制的简化,所以二进制到八进制和十六进制的转换非常简单。

二进制整数转换为八进制的方法是“三位一并”,也就是从右侧开始,每 3 位二进制数字转换为八进制的一位,依次类推,因为二进制的三位数字可以表达的区间是 000-111,刚好和 0 - 7 重合。例如:二进制的 10111 转换为 8 进制为:最后三位 111 转换为 7,前面的数字 10 转换为 2,则转换后得到的八进制数字为 27. 二进制整数转换为十六进制的方法是“四位一并”,例如 10111 转换为十六进制是 0111 转换为 7,1 转换为 1,则转换后得到的十六进制数字是 17. 二进制小数转换为八进制的方法也是“三位一并”,只是转换时从小数的高位开始,也就是小数的左侧开始。例如 0.10111 转换为八进制是 101 转换为 5,110 转换为 6,则转换得到的八进制小数为 0.56. 需要特别注意的是,小数最后如果不足三位,一定要在后续补零以后再进行转换。

二进制小数转换为十六进制的方法也是“四位一并”,只是转换时从小数的高位开始。例如二进制小数 0.10111 转换为十六进制小数为,1011 转换为 b,1000 转换为 8,则转换后得到的十六进制是 0.b8. 如果二进制数包含整数和小数部分,则分开进行转换。

感谢各位的阅读,以上就是“计算机软件基本概念与进制的概念是什么”的内容了,经过本文的学习后,相信大家对计算机软件基本概念与进制的概念是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计4506字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)