读《程序是怎样跑起来的》1-4

《程序是怎样跑起来的》(1)2024年15日-21日
前言中‘双击程序图标,程序开始运行’就像是我们踏入校门,大学故事开始。随着学期的进行慢慢懂得这种技术性专业需要自己的自律性,需要去自我约束自己。同时这些技术性专业又需要自己拥有浓厚的兴趣
在这里初次接触计算机行业,慢慢了解了一些专业知识。又通过了这本书增加了一些专业知识。
从这本书起始提了从双击程序图标开始到程序运行的整个机制
CPU=各种寄存器的集合体 而寄存器又用拥有各种种类和功能,寄存器是CPU的重点
CPU的寄存器会处理那些高级语言编写的程序在编译后转化的机器语言,所以我把CPU理解为食品在经过第一次制作后再运输至的加工中转储存厂
此外助记符则是英文简写
而汇编过程我进而理解为小麦加工成面粉的过程,则反汇编便是一个逆反的过程
程序分为三种。顺序执行就像从头开始有条不紊,条件分支是像按照要求遵循条件去完成,循环则如同循坏体不断循环往复。
函数调用需要处理函数内部处理后处理流程返回函数调用点可以理解为处理鱼肉时先处理内脏进而处理鱼身更好记忆
机器语言指令的主要类型有分为数据转送指令,运算指令,跳转指令,call/return指令而CPU就经过这些来处理事情
栈"stack"在程序领域中常表示为不断地储存各种数据的内存区域
此次读这本书了解到了CPU的相关内容定义会有益于以后的学习
程序具有先后次序,也是指令和数据的组合体。CPU(根据程序指令进行数据运算并控制计算机)只能识别机器语言(使用各种语言编写的程序转化而来),CPU可以理解为我们人类的大脑分为寄存器,控制器,运算器,时钟就像是我们的H区,海马区,S区等,把知识点与我们所熟知的内容联想起来更好的记忆。
第二章
二进制在计算机中占了厚重的一面
数据通过二进制数表示
在计算机内部由IC构成 而IC又包括了CPU和内存 IC可以理解为一个会变形的机器人有很多种形态而ic的引针便如手臂一般 又只有直流电压0V或5V状态,所以只能由二进制数处理(IC分为数字IC 和内存IC)
计算机处理信息的最小单位是位(bit) 8位二进制数称为一个字节(最基本的信息计量单位)
信息从十进制编译为二进制处理 逢2进位
1字节=8位 二进制的各数位值和位权相乘后再相加可转换为十进制数
位移运算通过数位移动代替乘除运算 右移空出来的高位数值只有0和1两种形式 区分二者了解表示负数方法即可
补数通过正数来表示负数 得到补数将二进制数各数位值全部取反(二进制数位0变为1,1变为0)结果加1 而补数求解变换方法为取反加一 0划为正数
当二进制数值表示图形模式移位后在最高位补0 在右移时区分逻辑运算和算术运算
符号扩充有保持值不变的前提 无论正数还是用补数表示的负数 都只需要符号位的值填充高位
计算机的运算分为算数运算和逻辑运算 逻辑运算有包括逻辑非(NOT运算),逻辑与(AND运算),逻辑或(OR运算)和逻辑异或(XOR运算) 就如同高中学习的数学知识 所以说学习计算机需要数学较好
反转部分图形模式使用XOR运算 学习逻辑运算应该将他比作除了数值以外的物品 并形成一种形象可以更好解决问题
第三章
我们在生活中不能过度依赖计算机,计算机并不是永远都是对的,人非圣贤孰能无过,计算机也一样也会有出错的时候
计算机处理数据通过二进制 在二进制表示整数和小数上有所不同 计算机出错的原因便在一些小数无法去转化为二进制数 使得结果变为了近似值 所以多个编程语言中通过浮点数表示 浮点数分为双精度浮点数和单精度浮点数 浮点数:符号,尾数,基数,指数 其中基数不会常考虑
尾数部位使用正则表达式(将小数点前的值固定为1)指数部分使用(excess系统)
双精度浮点数取值范围 >单精度浮点数 数值大小通过数据位表示
正则表达式就像是一种标准使得多样的浮点数统一 而excess系统指,通过指数部分表示范围的中间值设为0从而使负数不需要用符号表示
还有一种使计算机出错的情况是位溢出
规避计算机计算出错可以无视错误忽略误差或者将小数变为整数计算 此外BCD为一种通过一种表现另一种的方法
位数多的情况下经常使用十六进制数代替二进制数(基数为2)
第四章
数据大小链表分叉成两个方向的数据结构称为二叉查找树
高级编程语言中的数据类型表示的是占据内存区域的大小和储存在该区域的类型
栈是一种后入先出式的数据结构(LIFO)
内存是一种电子元件 名为内存IC
内存IC内部有大量可以储存8位数的地方,通过地址指定这些场所,之后可以进行数据读写
内存如同楼房储存着一层一层的数据
int是CPU最容易处理的数据类型长度
将多字节数据的低位字节储存在内存低位地址的方式为低字节序
指针为储存着数据的地址
数组是指多个同样数据类型的数据在内存中连续排列的形式 所用的编号称为索引
索引和内存地址的变换工作由编译器自动实现
数组是内存的使用方法的基础 且编程工作更高效
栈使用LIFO方式 队列用FIFO方式
栈中读出数据函数叫push 队列读出叫pop 队列又称为排队 通过环状缓冲区实现
二叉查找树在链表的基础上往 数组中追加元素而考虑到大小关系 二叉查找树可以使数据搜索等更有效率
第四章
数据大小链表分叉成两个方向的数据结构称为二叉查找树
高级编程语言中的数据类型表示的是占据内存区域的大小和储存在该区域的类型
栈是一种后入先出式的数据结构(LIFO)
内存是一种电子元件 名为内存IC
内存IC内部有大量可以储存8位数的地方,通过地址指定这些场所,之后可以进行数据读写
内存如同楼房储存着一层一层的数据
int是CPU最容易处理的数据类型长度
将多字节数据的低位字节储存在内存低位地址的方式为低字节序
指针为储存着数据的地址
数组是指多个同样数据类型的数据在内存中连续排列的形式 所用的编号称为索引
索引和内存地址的变换工作由编译器自动实现
数组是内存的使用方法的基础 且编程工作更高效
栈使用LIFO方式 队列用FIFO方式
栈中读出数据函数叫push 队列读出叫pop 队列又称为排队 通过环状缓冲区实现
二叉查找树在链表的基础上往 数组中追加元素而考虑到大小关系 二叉查找树可以使数据搜索等更有效率

posted @ 2024-01-21 03:12  金御科  阅读(24)  评论(0)    收藏  举报