开课之前
一.学习目的:
1.培养一线软件工程师
2.学习的是编程而非编程语言
二.学习要求:
1.笔记,发布博客
2.作业,按时提交
3.考试,随堂考试
三.制度:
1.作业换取视频
2.请假条换取视频
四.作业批改
1.互批互评
2.学习氛围
五.脚踏实地,仰望星空
六.带着问题学习:程序与CPU
1.程序是什么?
2.程序由什么组成?
3.什么事机器语言?
4.运行中的程序存储在什么位置?
5.什么事内存地址?
6.程序的解释和运行的计算机部件叫什么?
二进制数据
7.32位是几个字节?
8.01011100的十进制是多少?
9.00001111左移两位结果是多少?有什么规律?
10.以补码姓氏标识的8位二进制11111111,十进制为多少?
11.二进制和十进制有什么区别?
12.0010011+0010011=
13.0011101+0000011=
七.CPU(程序运行与解释)
1.寄存器(cpu中的内存,程序员唯一能接触到的,寄存器集成在CPU中,寄存器运算速度是内存的几十到几百倍。累加寄存器(存储运算之后的数据)、标志寄存器(逻辑判断,运算后数据处理后CPU的状态)、程序计数器(存储下一条指令所在内存中的地址)、基址寄存器(存储当前数据内存开始的地址)、变址寄存器(基址寄存器的相对位置)、通用寄存器(任何地方都可以使用,使用的最多的一个寄存器)、指令寄存器(不对外开放,只在CPU内部使用,程序员没办法去操作)、栈寄存器(相当于基址寄存器和变址寄存器,记录栈的起始位置地址))
2.控制器(指挥:控制寄存器,读取、写出、更换,根据时钟速度计算)
3.运算器(协助寄存器和控制器)
4.时钟(计算频率GHz)
八.程序与CPU
代码---->EXE(代码)---->加载---->CPU
(低级语言---->机器语言《001001010》---->CPU能看懂《电脑能看懂》)
(高级语言《C/C++,JAVA》--->人类能看懂《需要翻译后电脑才能看懂---->编译器---->VS2013》)
九.为什么要用二进制?
1.引脚只有两种状态:通电和不通电,0代表0伏1代表5伏
十.二进制和十进制的转换
1.二进制是一种计数方法
2.二进制值不仅仅是一个数