计算机基础知识

  • 编程的基本概念
  • "编程"一词的由来
  • 编程语言的分类
    • 机器语言
    • 汇编语言
    • 高级语言
  • 计算机的认识
  • 计算机的基本组成
  • 组装计算机
  • 计算机实际上只认识加法
  • " 八进制 " 引入
  • 计算机系统设计的‘开山鼻祖’
  • 世界公认的第一名软件工程师
  • 现代计算机之父
  • 莱布尼茨提出" 二进制 "说法之一
  • " BUG " 由来
  • 世界上第一台电子计算机
  • 进制转换
  • 进制中的基数、数码、位权
  • 计算机中的单位
  • 杂谈

编程的基本概念

通俗讲,就是写代码。程序员使用特定的语法 + 数据结构组成的代码去告诉计算如何执行任务的过程。

"编程"一词的由来

“编程”一词延伸于“杰卡德编织机”

编程语言的分类

机器语言

    a) 计算机底层只能识别0和1,那么由0和1描述的指令称为机器指令;b) 所有机器指令组成的集合称为机器语言;c) 由机器语言编写的程序称为目标程序;d) 只有目标程序才能被计算机直接识别和执行;e) 机器语言属于低级语言,是最底层的语言;f) 除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了;g) 机器语言是微处理器理解和使用的。

汇编语言

 a) 与机器语言相比并没有实质的区别,只是将机器指令换成了便于理解、记忆和使用的单词,比较底层;b) 由汇编语言编写的程序称为汇编程序c) 用汇编语言所能完成的操作不是一般高级语言所能够实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

高级语言

由高级语言所编写的程序不能直接被计算机所识别,必须转换成机器语言才能被执行,而转换方式决定了高级语言种类之间的本质区别。

分类:①编译型C, C++, Go, Delphi将代码一次性编译成目标代码(*.obj),生成可执行文件,可以脱离语言环境独立使用,所以使用方便、运行速度快如果中间代码出现错误,修改后,只能从头开始再翻译,所以开发效率低在某个平台上开发的程序放到另一个平台上,不一定能正常运行,所以跨平台性差②解释型C#, Python, JAVA, JavaScript, Ruby, PHP将代码交给解释器逐行翻译成目标代码,并且逐行执行,类似生活中的”同声传译“优:开发效率高可以跨平台劣:运行速度慢依赖解释器

计算机的认识

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

计算机的基本组成

1. 主板
2. CPU
3. 内存
计算机最底层是 电子电路,计算机只能识别高电频 和 低电频,也就是1、0

组装计算机

CPU 看主频、核心数
内存 看大小、型号(一般就DDR4、显卡用DDR5)、主频(海盗船、玩家国度)
显卡 看显存、型号(比如:N卡 GTX 1080  红色的数值越高越厉害、蓝色的数值代表第十代产品,N卡玩游戏; A卡作图)、位宽(数值越高代表数据进出量越高,则性能越好)
硬盘 (反正市面上,能买到三星正品的机率很小,而且也特别贵)

计算机实际上只认识加法

首先来了解,机器数和真值
1,   机器数
一个数在计算机中的二进制形式,叫做这个数的机器数。机器数是带符号的,最高位存放符号,正数为0,负数为1
例: +3,00000011;-3,100000112,   真值
将机器数的符号位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)补在计算机系统中,数值一律用补码来表示(存储)。主要原因:1. 使用补码,可以将符号位和其它位统一处理;2. 其他运算也可按加法来处理;3. 另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃;4. 补码与原码的转换过程几乎是相同的。

" 八进制 " 引入

小型机引入了**八进制**

计算机系统设计的‘开山鼻祖’

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

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

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

现代计算机之父

计算机之父:冯洛伊曼
基本思想:1. 计算机内部采用二进制;2. 顺序执行程序;3. 计算机由控制器、运算器、存储器、输入设备以及输出设备五大部分组成

莱布尼茨提出" 二进制 "说法之一

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

" BUG " 由来

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

世界上第一台电子计算机

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

进制转换

https://blog.csdn.net/qq_32617703/article/details/101202479

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

基数:例如十进制,基数为10
数码:例如十进制,0、1、2、3、4...就是十进制的数码
位权:例如十进制,从低位到高位(右 至 左) 依次表示为10的0次方、10的1次方...

计算机中的单位

0或1所占的空间单位为bit(比特),是计算机中最小的表示单位
8bit = 1Bytes (字节),是计算机中最小的存储单位
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
1EB = 1024PB
1ZB = 1024EB
1YB = 1024ZB
1BB = 1024YB

杂谈

(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)
(13)二战,最后以美国、苏联、中国、英国等反法西斯国家和世界人民战胜侵略者而终止。
其终止的真正的原因是美国向日本的广岛和长崎投掷了两颗原子弹。但本来是投掷到日本东京的。
中途出现了误差,为了计算精确,美国组织科学研制计算机。
(14)熟记:2^0 : 12^1 : 22^2 : 42^3 : 82^4 : 162^5 : 322^6 : 642^7 : 1282^8 : 2562^9 : 5122^10 : 10242的几次方(n),其实有n+1位二进制;2的几次方(n)表示他后面所有权值加起来的和等于2^n-1。正是因为2^0 ~ n-1加起来的和表示不了那个值,所以就有2^n

python3学习笔记01相关推荐

  1. 【unity3d】KBE+unity3d学习笔记01

    KBE学习笔记01 文章目录 KBE学习笔记01 下载KBE到本机并Build 下载KBE_unity3d_demo到本机,并使用unity3d打开(我使用的2019) 下载Xampp并配置网络环境 ...

  2. [ESP32]学习笔记01

    [ESP32]学习笔记01 学习笔记01 本开发工具使用ESP-IDF 工具链,非Arduino,关于ESP32-IDF工具链的安装方法可直接查看乐鑫官官方文档,CSDN上也有很多相关搭建开发环境的文 ...

  3. python基础第三章选择结构答案-python3 学习笔记(二)选择结构、循环结构

    python3 学习笔记 python 优雅 明确 简单 1.选择结构 (1)简单判断 if else 使用格式: if  条件: 表达式1 else: 表达式2 (2)多条件判断 elif 使用格式 ...

  4. JavaWeb黑马旅游网-学习笔记01【准备工作】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  5. JavaWeb-综合案例(用户信息)-学习笔记01【列表查询】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb-综合案例(用户信息)-学习笔记01[列表查询] JavaWeb-综合案例(用户信息)-学习笔记02[登录功能] JavaWeb-综合案 ...

  6. Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  7. Tomcat学习笔记01【Web相关概念、Tomcat基本操作】

    Java后端 学习路线 笔记汇总表[黑马程序员] Tomcat学习笔记01[Web相关概念.Tomcat基本操作][day01] Tomcat学习笔记02[Tomcat部署项目][day01] 目录 ...

  8. XML学习笔记01【xml_基础、xml_约束】

    Java后端 学习路线 笔记汇总表[黑马程序员] XML学习笔记01[xml_基础.xml_约束][day01] XML学习笔记02[xml_解析][day01] 目录 01 xml_基础 今日内容 ...

  9. Bootstrap学习笔记01【快速入门、栅格布局】

    Java后端 学习路线 笔记汇总表[黑马程序员] Bootstrap学习笔记01[快速入门.栅格布局][day01] Bootstrap学习笔记02[全局CSS样式.组件和插件.案例_黑马旅游网][d ...

最新文章

  1. 5.MySQL Cluster(MySQL集群)
  2. oracle备份片校验,oracle rman 备份日志单独备份和交叉校验
  3. HDU- 最大报销额
  4. 21天让你成为Horizon View高手—Day20:证书管理
  5. DIV中class和id的区别
  6. 以太网和局域网的关系
  7. OpenCV-累计概率霍夫变换cv::HoughLinesP
  8. 写在2017年的总结
  9. swap分区自动建立配置
  10. SQL Server根据地图坐标经纬度计算距离
  11. 联想电脑预装office自动卸载工具
  12. 《深入理解计算机系统(CSAPP)》—— 实验一 数据表示与运算实验
  13. python求几何平均_算术平均、几何平均、调和平均、平方平均和移动平均
  14. 所谓的特征值和特征向量
  15. Discover the Web(找浏览器网页)
  16. 模拟器左下方数字含义
  17. VirtualBox 所有版本的下载地址:http://download.virtualbox.org/virtualbox/
  18. RS422/485规范的偏置/端接电阻取值说明
  19. 洛谷 P2534 [AHOI2012]铁盘整理(IDA*(dfs+迭代加深+估值函数))
  20. LeetCode—Candy(分糖果)—java

热门文章

  1. 揭秘新推广渠道::利用腾讯文档做QQ消息弹窗
  2. L1距离和L2距离图像解释
  3. 重装系统后win10激活
  4. 在网页中引用阿里iconfont字体图标的三种方式
  5. 【nginx】version `OPENSSL_1.0.2‘ not found
  6. Xiaojie雷达之路---MATLAB仿真---RD(range-doppler)图
  7. SiC MOSFET静态特性曲线
  8. 【数据挖掘】LSTM和RandomForest对于股票市场的预测
  9. 千锋Android游戏开发基础视频教程-cocos2dMars版
  10. R语言入门——R对象