20135219洪韶武——信息安全系统设计基础第三周学习总结

学习过程总结

一、gcc 编译

  使用C99特性时 gcc -std=c99 xxx.c 实验楼环境为64位,编译为32位机器码: gcc -m32 xxx.c

二、重点注意知识点

  p20: 三种数字:无符号数、有符号数(2进制补码)、浮点数,信息安全系同学从逆向角度考虑为什么会产生漏洞

  p22: 进制转换,注意拿二进制作中间结果就好转了

  p25: gcc -m32 可以在64位机上(比如实验楼的环境)生成32位的代码

  p26: 字节顺序是网络编程的基础,记住小端是“高对高、低对低”,大端与之相反就可以了。

  p28: 代码执行一下

  p32: 能区分逻辑运算(结果是1或0)和位运算(结果是位向量),所有逻辑运算都可以用与、或、非表达(最大式、最小式),而与或非可以用“与非”或“或非”表达,所以,只要一个与非门,就可以完成所有的逻辑运算。

  p33: 掩码是位运算的重要应用,对特定位可以置一,可以清零

  p38: 要用C99中的“long long”类型,编译是要用 gcc -std=c99

  p39: 补码的利用寄存器的长度是固定的特性简化数学运算。想想钟表,12-1 等价于 12 + 11,利用补码可以把数学运算统一成加法,只要一个加法器就可以实现所有的数学运算。

  p44: 注意C语言中有符号数和无符号数的转换规则,位向量不变。想想第一章说的 信息就是“位+上下文”

  p48: 怎么样让负数等于正数? 信息安全的逆向思维

p49: 0扩展和符号扩展

p52: 深入思考一下代码和结果

  p54: 如何让整数运算溢出?如何避免? p62例子看看

  p67: 关于整数运算的最后思考

  p67: 浮点数有科学计数法的基础就不难理解,IEEE标准754

  p68: 浮点数运算的不精确性与舍入

  p70: IEEE浮点标准,float/double类型

  p74: 整数与浮点数表示同一个数字的关系

  p78: 整数与浮点数转换规则

  p80:家庭作业可以选做,协调好每题最多两人一组做,一星题目一人加一分,二星加二分,三星加三分,四星加四分

三、重点练习

  p24 进制转换代码

  p24 show_bytes,写个main函数测试一下,参考p30代码
  p35 练习2.11, 可以用GDB单步跟踪一下,理解更深刻
  p44 代码放到一个main函数中,可以用GDB单步跟踪一下,理解更深刻
  p47/p49代码放到一个main函数中,可以用GDB单步跟踪一下,理解更深刻
  p78,转换规则可以写几行代码测试一下。

未完成,回去继续做。。。

时间: 2024-09-28 22:35:10

20135219洪韶武——信息安全系统设计基础第三周学习总结的相关文章

20135219洪韶武——信息安全系统设计基础第四周学习总结

信息安全系统设计基础第四周学习总结 学习任务:教材第三章 学习时间:10小时 学习内容 一.教材知识梳理 1.程序编码与机器级代码 程序编码: gcc编译器,将源代码转化成可执行代码,C预处理器-汇编器-链接器 机器级代码: 机器级程序的格式和行为,定义[指令集体系结构ISA],定义了处理器状态,指令格式,以及指令对状态的影响 机器级程序实用的存储地址使用的是虚拟地址 2.数据格式 整数型.长整数型存储为4字节格式 指针类型存储为4字节格式 浮点数有三种形式:单精度.双精度.扩展精度,分别为4字

20135219洪韶武-信息安全系统设计基础第九周学习总结

第九周学习总结 一.课本内容 1.每个unix文件都是一个m字节的序列:所有I/O设备如网络.磁盘和终端都被模型化为文件,而输入和输出就是对这些文件的读写操作. 2.unix系统中输入输出的操作: 打开文件:一个应用程序通过要求内核打开相应的文件,来宣告它想要访问一个I/O设备,内核返回一个小的非负整数,叫做描述符.unix系统创建每个进程的时候都有三个打开的文件:标准输入:标准输出,标准错误. 改变当前的文件位置.对于每个打开的文件,内核保持着一个文件位置k(从文件开头起始的字节偏移量). 读

信息安全系统设计基础第三周学习总结

要点概括: 一.三种最重要的数字表示:    无符号数,有符号数(二进制补码),浮点数 从逆向考虑为什么产生漏洞: 结果太大不能表示时产生溢出,得到了负的结果.   二.信息存储 1.进制转换:以二进制作为桥梁. 2.字长:32位 64位 3.数据大小:单精度(4字节),双精度(8字节) 4.声明指针: 对于任何数据类型T,声明 T *p: 表明p是一个指针变量,指向一个类型为T的对象. 5.gcc –m32 可以在64位机上生成32位的代码. 6.寻址和字节顺序:    字节顺序是网络编程的基

20135223何伟钦—信息安全系统设计基础第三周学习总结

信息的表示和处理 2.0三种数字表示 无符号:编码基于传统的二进制表示法,表示大于或者等于零的数字. 补码:编码是表示有符号整数的最常见的方式,有 符号整数就是可以为正或者为负的数字. 浮点数:编码是表示实数的科学记数法 的以二为基数的版本. 溢出(overflow)的例子:使用 32 位来表示数据类型int,计算表达式200*300*400*500会得出结果 -884 901 888. 这违背了整数运算的特性,计算一组正数的乘积不应产生一个为负的结果. 2.1信息存储 机器级程序将存储器视为一

20135327郭皓——信息安全系统设计基础第三周学习总结

第2章 信息的表示和处理 三种重要的数字表现形式: 1. 无符号数:编码基于传统的二进制表示法,表示大于或等于零的数字. 2. 补码:编码是表示有符号整数的最常见方法,有符号整数就是可以为正或者是负的数字. 3. 浮点数:编码是表示实数的科学计数法的以二位基数的版本 2.1 信息储存 大多数计算机使用8位块,或者字节,作为最小的可寻址的储存器单位,而不是在储存器中访问单独的位. 虚拟储存器:机器级程序将储存器视为一个非常大的字节数组. 地址:储存器的每个字节的唯一的数字标识. 虚拟地址空间:所有

信息安全系统设计基础第三周学习总结 ---20135334 赵阳林

第2章 信息的表示和处理 三种最重要的数字表示: * 无符号 * 补码 * 浮点数 运算: * 整数运算 * 浮点运算 对比: 整数运算只能编码相对较小的范围,但是是精确的: 浮点运算可以编码一个较大的范围,但是是近似的:浮点运算不可结合. 注意:溢出——运算位数的限制 第一节 信息存储 计算机最小的可寻址的存储器单位——字节 一个字节的值域:00H-FFH 一.十六进制表示法 1. C表示法 以0x或0X开头的数字常量为十六进制 2. 进制转换 常用进制:二进制(B),十进制(D),八进制(O

20135210程涵——信息安全系统设计基础第三周学习总结

本次学习任务:仔细研读<深入理解计算机系统>第二章内容,掌握整数表示.浮点数表示及其运算 一.学习过程 三种重要的数字表现形式: 无符号数:编码基于传统的二进制表示法表示大于或等于零的数字. 补码:编码是表示有符号整数的最常见方法,可以是正或者是负的数字. 浮点数:编码是表示实数的科学计数法的以二位基数的版本 溢出:计算机的表示法是用有限数量的位来为一个数字编码,因此当结果太大就会导致某些运算溢出. 整数和浮点数会有不同的数学属性是因为处理数字表示有限性的方法不同. (整数是编码相对较小的数值

信息安全系统设计基础第三周学习总结—20135227黄晓妍

一.Vim编辑器 1.Vim的六种模式 2.Vim三种常用模式的使用方式,以及三者的切换.打开Vim即默认进入普通模式,按i进入插入模式,按esc从插入模式退出普通模式,再按:进入命令行模式. 普通模式下游标的移动 按键 说明 h 左 l 右(小写L) j 下 k 上 w 移动到下一个单词 b 移动到上一个单词 普通模式进入插入模式的方式 命令         说明 i        在当前光标处进行编辑 I        在行首插入 A       在行末插入 a       在光标后插入编辑

信息安全系统设计基础第三周学习总结-吕松鸿

第2章 信息的表示和处理 (一).三种重要的数字表示 无符号数:编码基于传统的二进制表示法(大于或者等于零的数字). 补码:编码是表示有符号整数的最常见方式(为正或者为负的数字). 浮点数:编码是表示实数的科学记数法的以二为基数的版本. 整数的表示虽然只能编码一个相对较小的数值范围,但是是精确的:而浮点数虽然可以编码一个较大的数值范围,但是这种表示是近似的表示. 大量的计算机安全漏洞都是由于计算机运算的微妙细节引发的. (二).信息存储 计算机最小的可寻址的存储器单位——字节 一个字节的值域:0