操作数

2019-2020-1学期 20192428 《网络空间安全专业导论》第三周学习总结

风格不统一 提交于 2019-12-01 23:49:32
2019-2020-1学期 20192428 《网络空间安全专业导论》第三周学习总结 通过阅读第六第七两章内容,我做出如下程序设计层的读书笔记。 第六章——低级程序设计语言与伪代码 6.1 计算机操作 计算机的定义: 计算机是能够==储存、检索和处理数据==的可编程电子设备 故而,储存、检索和处理是计算机能够对数据执行的操作。 6.2 机器语言 机器语言(machine language):由==计算机直接使用的二进制编码指令构成==的语言 第一章中曾提到过,机器语言是最初人们编写指令所需的语言。后来才有其他程序设计语言的诞生,书中也提到,每条机器语言指令只能执行一个非常低级的任务。 机器语言处理过程中,每个微小的步骤都必须被明确地编码,故而有句话说得好:编程永远比看上去要难。 虚拟机:Pep/8 教材借助Pep/8虚拟机帮助理解机器语言的具体表现形式。首先其内存单元是65536字节的储存空间组成,Pep/8中字长为2字节或者16比特。 Pep/8的指令格式为两部分组成:==8位的指令说明符==和==16位的操作说明符。== 其中 指令说明符 (指令的第一个字节)说明了要执行什么操作和如何解释操作数的位置。 而 操作数说明符 (指令的第二和第三个字节)存放的则是操作数本身或者是操作数地址。有些指令没有操作数说明符。 来源: https://www.cnblogs.com

2019-2020-1学期 20192406 《网络空间安全专业导论》第三周学习总结

纵饮孤独 提交于 2019-12-01 23:31:49
第六章 低级程序设计语言与伪代码 6.1 计算机操作 我们所用的程序设计语言都必须反映出计算机能够执行的操作类型。让我们通过重述计算机的定义来开始新的讨论:计算机是能够存储、检索和处理数据的可编程电子设备。 这个定义中的操作字包括 可编程的 、 存储 、 检索 和 处理 。上一章指出了数据和操作数据的指令逻辑上是相同的,它们存储在相同的地方。这就是“可编程的”这个词的意义所在。操作数据的指令和数据一起存储在机器中。要改变计算机对数据的处理,只需要改变指令即可。 存储、检索和处理 是计算机能够对数据执行的动作。也就是说,控制单元执行的指令能够把数据 存储 到机器的内存中,在机器内存中 检索 数据,在算术逻辑单元中以某种方式 处理 数据。词语“处理”非常通用。在机器层,处理涉及在数据值上执行算术和逻辑操作。 6.2 机器语言 机器语言 :由计算机直接使用的二进制编码指令构成的语言 Pep/8:一台虚拟机 虚拟机 :为了模拟真实机器的重要特征而设计的假想机器 Pep/8反应的重要特征 回忆第5章中所说的,寄存器是中央处理器中算术/逻辑单元的一小块存储区域,它用来存储特殊的数据和中间值。Pep/8有七个寄存器,我们重点研究其中三个: 程序计数器(PC) , 其中包含下一条即将被执行的指令的地址。 指令寄存器(IR) , 其中包含正在被执行的指令的一个副本。 累加器 (是一个寄存器)。

2019-2020-1学期 20192426 《网络空间安全导论》第三周学习总结

早过忘川 提交于 2019-12-01 23:25:07
第六章 低级程序设计语言与伪代码 6.1计算机操作 1.计算机:能够存储、检索和处理数据的可编程电子设备。 存储、检索和处理 是计算机能够对数据执行的操作。也就是说,控制单元执行的指令能够把数据存储到机器的内存中,在机器内存中检索数据,在算术逻辑单元中以某种方式处理数据。 6.2机器语言 1.机器语言(machine language):由计算机直接使用的二进制编码指令构成的语言。 每种处理器都有自己专用的机器指令集合。 这些指令是机器唯一真正能够执行的指令。 2.Pep/8:一台虚拟机 虚拟机(virtual computer (machine)) :为了模拟真实机器的重要特征而设计的假象机器。 Pep/8有39个机器语言指令。 Pep/8反映的重要特性 Pep/8的字长是2字节,或者16比特。这样向算术/逻辑单元(ALU)流入的数据或从算术/逻辑单元流出的数据在长度上就是16比特。 Pep/8有七个寄存器,我们重点研究:程序计数器(PC)、指令寄存器(IR)、累加器. 累加器是用来保存操作的数据和结果。 可用的比特数决定了我们可以使用的内存大小。 指令格式 在Pep/8中,一条指令由两部分组成,即 8位的指令说明符和(可选的)16位的操作数说明符。 指令说明符(指令的第一个字节) :说明了要执行什么操作和如何解释操作数的位置。 操作数说明符(指令的第二和第三个字节)

2019-2020-1学期 20192426 《网络空间安全导论》第三周学习总结

空扰寡人 提交于 2019-12-01 23:06:32
第六章 低级程序设计语言与伪代码 1.计算机操作 计算机是能够 存储、检索和处理数据的可编程电子设备。 2.机器语言 计算机语言(machine language):由计算机直接使用的二进制编码指令构成的语言。 Pep/8:一台虚拟机 虚拟机(virtual computer(machine)):为了模拟真实机器的重要特征而设计的假想机器。 Pep/8有39个机器语言指令。 Pep/8反映的重要特性。 Pep/8的内存单元由65536字节的存储空间构成。这些字节从0到65536(十进制)进行编号。 寄存器: 程序计数器(PC),其中包含下一条即将被执行的指令的地址。 指令寄存器(IR),其中包含正在被执行指令的一个副本。 累加器(是一个寄存器)。 累加器是用来保存操作的数据和结果。 指令格式 一条指令由两部分组成,即8位的指令说明符和(可选的)16位的操作数说明符。说明指令符(指令的第一个字节)说明了要执行什么操作(如把一个数加到一个已经存储在寄存器中的值上)和如何解释操作数的位置。操作数说明符(指令的第二和第三字节)存放的是操作数本身或者操作数的地址。有些指令没有操作数说明符。 指令说明符的格式根据表示一个具体操作所用的比特数的不同而不同。在Pep/8中,操作代码(称为操作码)的长度从4比特到8比特不等。我们在这里所用的操作码长度是4比特或5比特

2019-2020-1学期 20192409 《网络空间安全专业导论》第三周学习总结

坚强是说给别人听的谎言 提交于 2019-12-01 23:01:18
第六章 低级程序设计语言与伪代码 1.计算机操作 计算机是能够 存储、检索和处理数据的可编程电子设备。 2.机器语言 计算机语言(machine language):由计算机直接使用的二进制编码指令构成的语言。 Pep/8:一台虚拟机 虚拟机(virtual computer(machine)):为了模拟真实机器的重要特征而设计的假想机器。 Pep/8有39个机器语言指令。 Pep/8反映的重要特性。 Pep/8的内存单元由65536字节的存储空间构成。这些字节从0到65536(十进制)进行编号。 寄存器: 程序计数器(PC),其中包含下一条即将被执行的指令的地址。 指令寄存器(IR),其中包含正在被执行指令的一个副本。 累加器(是一个寄存器)。 累加器是用来保存操作的数据和结果。 指令格式 一条指令由两部分组成,即8位的指令说明符和(可选的)16位的操作数说明符。说明指令符(指令的第一个字节)说明了要执行什么操作(如把一个数加到一个已经存储在寄存器中的值上)和如何解释操作数的位置。操作数说明符(指令的第二和第三字节)存放的是操作数本身或者操作数的地址。有些指令没有操作数说明符。 指令说明符的格式根据表示一个具体操作所用的比特数的不同而不同。在Pep/8中,操作代码(称为操作码)的长度从4比特到8比特不等。我们在这里所用的操作码长度是4比特或5比特

程序设计层第6、7章读书笔记 rwl

夙愿已清 提交于 2019-12-01 20:33:40
程序设计层第6、7章读书笔记 第6章 低级程序设计语言与伪代码 6.1 计算机操作 计算机是能够 存储、检索和处理数据 的可编程电子设备。 要改变计算机对数据的处理,只需要改变 指令 即可。 存储、检索和处理 是计算机能够对数据执行的动作。 6.2 机器语言 计算机 真正执行 的程序设计指令是用 机器语言 编写的指令,这些指令固定在计算机的 硬盘 中。 机器语言(machine language) :由计算机直接使用的 二进制编码指令 构成的语言。 在机器语言中,处理过程中每一个微小的步骤都 必须 被明确地编码。 目前 几乎没有 程序是用 机器语言 编写的,主要是因为编写这种程序 太费时间 。 Pep/8:一台虚拟机 虚拟机(virtual computer(machine)) :为了 模拟 真实机器地重要特征而设计的假想机器。 Pep/8 有 39 个机器语言指令。这意味着每个Pep/8程序一定是由这些指令组合而成的 序列 。 Pep/8反映的 重要特征 : 1.Pep/8的内存单元由 65536 个字节的存储空间构成。这些字节从0到65535( 十进制 )进行编号。 2.Pep/8的 字长 是两字节,或者16比特。这样向算术/逻辑单元(ALU)流入的数据或从 算术/逻辑单元 流出的数据在长度上就是 16比特 。 3.Pep/8有 7 个存储器。 累加器

从简易计算器到科学计算器

大兔子大兔子 提交于 2019-12-01 18:53:48
整体思路保持不变,先对表达式分析,将其转化为若干运算单元(运算单元表示一个广义运算符或者一个操作数),然后根据运算单元的列表对表达式求值。 变化点 一元运算符的处理 先前的简易计算器表示运算的运算符只有加减乘除、正负号,正负号虽然是一元运算符,但做了特殊处理(直接将紧跟其后的操作数的正负性做出相应的改变,当引入高于正负号优先级的乘方阶乘后就变为了错误的做法)。 科学计算器新引入了阶乘、sin、cos、tan、ln、log、sqrt这些一元运算符,也要求能够更好的处理一元运算符。 运算符数量大大增加 运算符数量增加,将会加大修改运算符优先级比较矩阵的难度,如果每新增支持一种新的运算就去修改这个矩阵,显然过于繁琐,因此采用了一种基于规则的比较方式。 代码量增加 随着代码量的增加,需要对项目重构。 项目结构 主要代码位于cn.zhikaizhang.algorithm和cn.zhikaizhang.main两个包下。前者是算法,后者是界面与交互。 package class description cn.zhikaizhang.algorithm Calculator 表达式求值 cn.zhikaizhang.algorithm ExpressionIllegalException 表达式不合法异常类 cn.zhikaizhang.algorithm ExpressionParser

java-finally的使用

∥☆過路亽.° 提交于 2019-12-01 18:47:00
java-finally的使用 首先要知道jvm栈 (1).jvm栈是用来对方法进行入栈出栈的操作,一个线程一个栈帧,所以jvm栈是私有的,jvm栈的基本运行单位是栈帧,一个栈帧是包括是三个部分的,局部变量表,操作数栈,程序计数器 局部变量表是用来存放方法的参数,和方法内部定义的局部变量,操作数栈是用来进行具体数值的运算。程序计数器是用来记录程序运行的位置。 具备上边的知识后,基本可以理解为什么finally不可以改变返回值了。 int a=10; return a+1 finally a+4 在程序可以看到,首先会找到局部变量表10,将a的指针指向它,如果没有该变量则创建。之后,将局部变量的10复制到操作数栈顶,进行a+1的操作,在这个时候,正常的时候程序是会返回的,但是finally关键字是程序必须执行的,所以这个时候,会将操作数栈顶的11,复制到局部变量表中,然后将a+4进入到操作数栈顶,计算之后,将原来的11再入栈执行return,返回操作数栈顶的值。所以说finally一般是用来进行比较重要的收尾工作,而不是来计算返回值的,除非在finally中return才会进行返回 来源: https://www.cnblogs.com/fan123yh/p/11712859.html

JS操作符

有些话、适合烂在心里 提交于 2019-12-01 17:50:10
只记录自己比较容易忘记的概念和内容,方便以后查阅。原文请参考: http://javascript.info/operators 二元运算符(+/-*) 对于 + 运算符,只要有一个操作数是字符串,将会另外一个也转为字符串,如: The rule is simple: if either operand is a string, the other one is converted into a string as well let s = 'my'+'string'; alert(s); // mystring alert('1'+2); //'12' alert(2+'1'); //'21' alert(2+2+'1'); //'41' and not '221' 其他运算符(/-*)只会对数字进行运算,所以它们会先将非数字的操作数转为数字,然后再运算,如: alert(2-'1'); //1 alert('2'-'1'); //1 alert('3'-1); //2 alert('5'/2); //2.5 alert('3'*3); //9 一元运算符(+) 对于一元运算符 + ,当操作数为数字时,不会操作数字。当不是数字时,将会转为数字,相当于Number(…),如: The unary plus or, in other words, the plus operator

运算符的基本概念以及常用Scanner、随机数Random、选择结构的初步了解

十年热恋 提交于 2019-12-01 17:36:55
运算符 分类 算术运算符 位运算符 关系运算符|比较运算符 逻辑运算符 条件运算符 赋值运算符 其中优先级顺序从上到下,可以记忆口诀: 单目乘除位关系,逻辑三目后赋值 操作数: 运算符左右两边的数 表达式: 运算符连接操作数整体叫做表达式 语句: 分号代表语句的结束 单目|一元运算符: 操作数为1个 +号 ++ -- 双目|二元运算符: 操作数为2个 + - * / 三目|三元运算符: 条件运算符 算术运算符 +号: 正号(可省略) 加法运算 字符串的连接 如果+左右两边有字符串的出现"",+就是作为字符串的连接符使用,把两边的内容拼接成为一整个字符串使用 -号: 符号 减法运算 此外,还有* / % % 模以,取模,求余数 ++ -- ++,--操作自己 无论++在前还是在后,自己加一 无论--在前还是在后,自己减一 ++,--操作别人 ++在前,先自己加一在参与运算 ++在后,先参与运算在自己加一 --同理 赋值运算符 基础赋值运算符 = 是java中唯一一个自右向左运算的符号优先级最低 扩展赋值运算符 += a+=b; ==> a=a+b;-=同理 a =b; ==> a=a b; /=、%=同理 推荐使用扩展赋值运算符 优点: 执行效率高 缺点: 不直观 关系运算符 符号:> < >= <= 可以参与运算的类型:byte short int long float