01 计算机基础

目录:

1) 什么是编程?

2) 编程延伸于?

3) 编程语言的分类

4) 学习计算机基础的意义

5) 什么是计算机

6) 计算机的基本组成

7) 组装计算机

8) 为什么计算机只认识加法

9) 八进制来源

10) 计算机系统设计的“开山鼻祖”

11) 世界公认的第一名软件工程师

12) 莱布尼茨提出“二进制”思路的其中一个说法

13) bug小故事

14) 二战小故事

15) 计算机之父

16) 世界上第一台电子计算机

17) 进制转换

18) 进制中的基数、数码、位权

19) 计算机中的单位

20) 杂谈

 

===================================================================

 

1, 编程:通俗讲就是写代码,让计算机帮我们去做事

2, ‘编程’一词延伸于,杰卡德编织机。

3,编程语言的分类:

    ① 机器语言

        a) 计算机底层只能识别0和1,那么由0和1描述的指令称为机器指令;

        b) 所有机器指令组成的集合称为机器语言;

        c) 由机器语言编写的程序称为目标程序;

        d) 只有目标程序才能被计算机直接识别和执行;

        e) 机器语言属于低级语言,是最底层的语言;

        f) 除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了;

        g) 机器语言是微处理器理解和使用的。

       

    ② 汇编语言

        a) 与机器语言相比并没有实质的区别,只是将机器指令换成了便于理解、记忆和使用的单词,比较底层;

        b) 由汇编语言编写的程序称为汇编程序

        c) 用汇编语言所能完成的操作不是一般高级语言所能够实现的,

           而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

          

    ③ 高级语言

        由高级语言所编写的程序不能直接被计算机所识别,必须转换成机器语言才能被执行,

        而转换方式决定了高级语言种类之间的本质区别。

        分类:

        ① 编译型

                     C, C++, Delphi

            将代码一次性翻译成目标代码(*.obj),生成可执行文件,可以脱离语言环境独立使用,所以使用方便、运行速度快

            如果中间代码出现错误,修改后,只能从头开始再翻译,所以开发效率低

            在某个平台上开发的程序放到另一个平台上,不一定能正常运行,所以跨平台性差

 

        ② 解释型

                     C#, Python, JAVA, JavaScript, Ruby, PHP

            将代码交给解释器逐行翻译成目标代码,并且逐行执行,类似生活中的”同声传译“

                优:

                    开发效率高

                    可以跨平台

                劣:

                    运行速度慢

                    依赖解释器

 

4, 认识计算机的思想以及意义

       我一老哥是写了几十年程序的老码农,敲过的代码可以绕地球两圈,然而就在它如日中天,正在绕地球第三圈的途中,老哥越发感觉力不从心,好多底层知识不懂,越往高端学越贴近底层。

 

5, 计算机:

         计算机是用来计算和通讯的;

计算机,俗称‘电脑’,电子人脑。能够进行数值计算、逻辑计算以及记忆存储功能, 能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。通俗讲: 最初发明计算机,是为了进行科学计算,只要能进行数据处理(计算、运算)的,都可以称之为计算机,比如:计算器。

 

6, 计算机的基本组成

         主板、CPU、内存

         计算机最底层是 电子电路,计算机只能识别高电频 和 低电频,也就是1、0

 

7, 组装计算机

         CPU 看主频、核心数

         内存 看大小、型号(一般就DDR4、显卡用DDR5)、主频(海盗船、玩家国度)

         显卡 看显存、型号(比如:N卡 GTX 1080  红色的数值越高越厉害、蓝色的数值代表第十代产品,N卡玩游戏; A卡作图)、位宽(数值越高代表数据进出量越高,则性能越好)

         硬盘 (反正市面上,能买到三星正品的机率很小,而且也特别贵)

 

8, 计算机实际上只认识加法,为什么?

首先来了解,机器数和真值

1, 机器数

       一个数在计算机中的二进制形式,叫做这个数的机器数。

      机器数是带符号的,最高位存放符号,正数为0,负数为1

      例:+3,00000011;

              -3,10000011

2, 真值

       将机器数的符号位0和1符号化成+和-

       例:00000011的真值 = +0000011 = +3,

              10000011的真值 = -0000011 = -3

 再来了解,原码、反码和补码

       首先,因为人脑可以知道第一位是符号位,在计算的时候我们会根据符号位,选择对真值区域的加减。但是对于计算机,加减乘除已经是最基础的运算,要设计得尽量简单,计算机辨别‘符号位’显然会让计算机的基础电路设计变得十分复杂!于是人们想出了将符号位也参与运算的方法。我们知道,根据运算法则减去一个正数等于加上一个负数。

即:1 - 1 = 1 + (-1) = 0,所以机器可以只有加法而没有减法这样计算机运算的设计就更简单了

       原码、反码和补码都是有符号的用二进制表示数的方法,均由符号位数值位构成

1, 原码

原码是由0和1表示的符号位加上真值的绝对值,即用第一位表示符号,其余为表示值。

例:-3 = 1[-0000011] = 1000 0011

      +3 = 0[+0000011] = 0000 0011

      原码是人脑最容易理解和计算的表示方式

2, 反码

正数的反码是其原码本身

负数的反码是在其原码的基础上,符号位不变,其余各个位取反

例:-3 = 1[-0000011] = (1000 0011)原 = (1111 1100)反

      +3 = 0[+0000011] = (0000 0011)原 = (0000 0011)反

3, 补码

正数的补码就是其本身

负数的补码就是在反码的基础上+1

例:-3 = 1[-0000011] = (1000 0011)原 = (1111 1100)反 = (1111 1101)补

      +3 = 0[+0000011] = (0000 0011)原 = (0000 0011)反 = (0000 0011)补

在计算机系统中,数值一律用补码来表示(存储)

       主要原因:使用补码,可以将符号位和其它位统一处理;

                         同时,减法也可按加法来处理;

                         另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃;

                         补码与原码的转换过程几乎是相同的。

 

9, 小型机引入了‘八进制’

 

10,巴贝奇,计算机系统设计的‘开山鼻祖’;

 

11,Ada(阿达),世界公认的第一名软件工程师,;

 

12,莱布尼茨独立发明微积分与牛顿齐名,又对计算机提出‘二进制’的设计思路。

       其中有一个说法,他提出‘二进制’的思路,来源于中国。公元1700左右,莱布尼茨的一位友人送于他一幅画,名为‘八卦’,是宋朝人邵雍摹绘的一张‘易图’。莱布尼茨用放大镜仔细观察八卦的每一卦象,发现它们都是由阳(-)和阴(--)两种符号组成。若认为阳为‘1’,阴为‘0’,八卦恰好组成了二进制000到111共8个基本序数。正是在中国人睿智的启迪下,莱布尼茨最终悟出了二进制之真谛。虽然,他自己设计的计算机用的还是十进制,但他率先系统提出了二进制数的运算法则,直到今天,二进制数仍然左右着现代电脑的高速运算。

 

13,‘bug’的由来:

        世界上第一台大型计算机Mark 1,为它编写程序的是一位女数学家格雷斯·霍波(G· Hopper)(第三名程序员)。有一天,她在调试程序时出现了故障,拆开了继电器后,发现有只飞蛾夹扁在触点中间,从而‘卡’住了机器运行。于是,Hopper诙谐地把程序故障统称为‘臭虫’(bug),而这一奇怪的‘称呼’,后来成为计算机领域的专业行话,调试程序就叫做‘Debug’。(反bug)

 

14,二战,最后以美国、苏联、中国、英国等反法西斯国家和世界人民战胜侵略者而终止。其终止的真正的原因是美国向日本的广岛和长崎投掷了两颗原子弹。但本来是投掷到日本东京的。中途出现了误差,为了计算精确,美国组织科学研制计算机。

 

15,计算机之父:冯洛伊曼

 

16,1946年2月14,西方情人节,美国军方定制的世界上第一台电子计算机‘ENIAC’(电子数字积分计算机)在美国宾夕法尼亚大学问世了。是美国奥伯丁武器试验场为了满足计算弹道需要而研制的。

 

17,  进制转换

 

18,进制中的基数、数码、位权

       基数:例如十进制,基数为10

       数码:例如十进制,0、1、2、3、4...就是十进制的数码

       位权:例如十进制,从低位到高位(右 至 左) 依次表示为10的0次方、10的1次方...

 

19,计算机中的单位

  01所占的空间单位为bit(比特),是计算机中最小的表示单位

  8bit = 1Bytes (字节),是计算机中最小的存储单位

  1KB = 1024B

  1MB = 1024KB

  1GB = 1024MB

  1TB = 1024GB

  1PB = 1024TB

  1EB = 1024PB

  1ZB = 1024EB

  1YB = 1024ZB

  1BB = 1024YB

 

20,杂谈:

       (1)google: 10100

       (2)google-plex:10google 

       (3)宇宙直径:约 1026

       (4)宇宙粒子数:约 1080

       (5)地球沙粒数:约 7.5x1018

       (6)宇宙大爆炸后(准确说是,大爆炸后的普朗克时间)的宇宙密度:1096千克/立方米

       (7)1英寸 = 2.54厘米

       (8)球的体积:4/3 * PI*R3

       (9)圆的面积:PI * R2

       (10)三角形的面积:底 * 高 * 0.5

       (11)黄金比例:长边比短边,1.618;短边比长边,0.618

       (12)毕达哥拉斯定理(勾股定理)计算笛卡尔平面上的两点之间的距离

                   A: (x1, y1)      B: (x2, y2)

                  dist = sqrt((x1 – x2)2 + (y1 – y2)2)

posted @ 2019-01-26 20:32  hardySap  阅读(525)  评论(0编辑  收藏  举报