2017-2018-1 20155226《信息安全系统设计基础》第14周学习总结

2017-2018-1 20155226《信息安全系统设计基础》第14周学习总结

教材学习内容深度学习

第二章 信息的表示和处理
  • 十六进制表示法C表示法以0x或0X开头的数字常量为十六进制进制转换常用进制:二进制(B),十进制(D),八进制(O或者Q),十六进制(H)
  • 转换为二进制-十六进制相互转换,二进制的四位数字对应十六进制的一位数字。 同理,二进制与八进制的转化是三位对应一位。 但是通常情况下,进制转换都以二进制为桥梁进行转换。
  • 每台计算机都有一个字长,指明整数和指针数据的标称大小,因为虚拟地址是以这样的一个字来编码的,所以字长决定的最重要的系统参数就是虚拟地址空间的最大大小。
  • 对于一个字长为w位的机器来说,虚拟地址的范围是0~2^w-1。程序最多访问2的w次方个字节。
  • 数据大小: 在不同字长的计算机中,相同的数据类型所占用的字节数并不相同,32位和64位的区别见书
  • 使用C99特性时 gcc -std=c99 xxx.c 实验楼环境为64位,编译为32位机器码: gcc -m32 xxx.c
  • 寻址和字节顺序以0x01234567举列来说:
  1. 大端法: 最高有效位在前所以是: 01 23 45 67
  2. 小端法: 最低有效位在前所以是: 67 45 23 01
  • 强制类型转换用来允许一种数据类型引用一个对象,而这种数据类型与创建这个对象的定义的数据类型不同。最好在定义的时候保持数据形式的统一
  • 表示字符串和代码: C语言中字符串被编码为一个null字符结尾的字符数组。每个字符串都由某个标准编码来表示,最常见的是ASCII字符码。

位运算

  1. 布尔代数 常用运算符号:与: &或: |非: ~异或:^
  2. 位向量位向量:有固定长度为w、由0和1组成的串。位向量的应用表示有限集合。
  3. 位级运算位运算:位向量按位进行逻辑运算,结果仍是位向量。位级运算的一个常见用法就是实现掩码运算,这里掩码是一个位模式,表示从一个字中选出的为的集合。
  4. C语言中的移位运算: C语言标准并没有明确定义应该使用那种两类型的右移。对于无符号数据,右移必须是逻辑的。而对于有符号数据,算术的或者逻辑的右移都可以。

c语言中的移位运算右移

  • 右移分为逻辑右移和算术右移。算术左移和逻辑左移没有什么区别。

      逻辑右移: 在左端补k个0,多用于无符号数移位运算

    算术右移: 在左端补k个最高有效位的值,多用于有符号数移位运算。

优先级移位运算的优先级比算术运算(比如+、-)要低整数表示一、整型数据类型

  • 整型数据类型——表示有限范围的整数,每种类型都能用关键字来指定大小,还可以指定是非负数还是负数。这些不同大小的分配的字数会根据机器的字长和编译器有所不同

无符号数的编码

  • 无符号数的二进制表示有一个很重要的属性,就是每个介于0~2的w次方-1之间的数都有唯一一个w位的值编码。

    C语言支持所有的整型数据类型的有符号和无符号运算

  • 一、无符号运算

    无符号运算本质上就是模运算

  1. 加法 涉及到的相关知识有:阿贝尔群,单位元,加法逆元等等。计算起来很简单。
  2. 乘法 两个w位的无符号数相乘,实际上是截取了低w位,但是等价于mod 2的w次幂。

补码运算

  1. 补码用法 加法必须确定结果太大或者太小时,应该采取什么措施 两个数的w位补码之和与无符号数之和有完全相同的位级表示。大部分计算机使用同样的机器指令来执行无符号或者有符号加法。

    教材及课堂学习和总结

  • 问题和解决方法已在测试中列出

课后练习

代码托管

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:25小时
  • 实际学习时间:20小时

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

时间: 2024-11-02 10:18:31

2017-2018-1 20155226《信息安全系统设计基础》第14周学习总结的相关文章

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

20145311 《信息安全系统设计基础》第一周学习总结

20145311 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 常用的部分命令 CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成: CTRL+C:中断程序运行 Ctrl+D:键盘输入结束或退出终端 Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+A: 将光标移至输入行头,相当于Home键 Ctrl+E

20145216史婧瑶《信息安全系统设计基础》第九周学习总结

20145216史婧瑶<信息安全系统设计基础>第九周学习总结 教材内容总结 第十章 系统级I/O 输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程. 第一节 Unix I/O 这一节涉及到操作系统的基本抽象之一--文件.也就是说,所有的I/O设备都被模型化为文件,而所有的输入输出都被当做对相应文件的读/写.相关的执行动作如下: 1.打开文件: 应用程序向内核发出请求→要求内核打开相应的文件→内核返回文件描述符 文件描述符:一个小的非负整数,用来在后续对此文件的所有操作中标识这个文件.有

20145311 《信息安全系统设计基础》第二周学习总结

20145311 <信息安全系统设计基础>第二周学习总结 教材学习内容总结 重新学习了一下上周的一部分命令:grep main wyx.c(grep的全文检索功能)ls > ls.txt :ls内容输出到文本find pathname -mtime -n/+nfind -size -n/+n (find的功能还是比较强大) 简单地学习了一下vim编辑器,跟着vimtutor简单地学了一些,在linux bash中使用vim能够极大地提高效率, vim的用法比较多,只学习了其中简单的一部分

20145339《信息安全系统设计基础》第一周学习总结

20145339顿珠达杰<信息安全系统设计基础>第一周学习总结 ◆ Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 物理机系统上可以通过使用[Ctrl]+[Alt]+[F1]-[F6]进行终端和图形界面切换,在线实验环境中按下[Ctrl]+[Alt]+[F7]来完成切换.普通意义上的 Shell 就是可以接受用户输入命令的程序,Unix/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的

2017-2018-1 20155228 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155228 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 常见的存储技术 RAM 随机访问存储器(Random-Access Memory, RAM)分为两类:静态的和动态的.静态 RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多.SRAM用来作为高速缓存存储 器,既可以在CPU芯片上,也可以在片下.DRAM用来作为主存以及图形系统的帧缓冲 区.典型地,一个桌面系统的SRAM不会超过几兆字节,但是DRAM却有几百或几千兆 字节. SRAM将每

2017-2018-1 20155332 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155332 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 简单模型中,存储器是一个线性的字节数组.真实模型中,是一个具有不同容量,成本,访问时间的存储层次结构(存储器山) 程序的局部性很重要,对程序性能有很重要的影响. 计算机系统一个基本而持久的思想,如果你理解了系统是如何将数据在存储器层级结构中上下移动,你就可以编写程序,让数据存储在层次结构中较高的地方,从而CPU可以更快的访问到他们. 编写程序实现功能是最简单的,如何让编写的程序拥有最高的性能,例

2017-2018-1 20155227 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155227 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 第六章 随机访问存储器 随机访问存储器分为:静态RAM(SRAM)和动态RAM(DRAM),静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵很多. (1)静态RAM SRAM将每个位存储在一个双稳态的存储器单元里,每个单元是用一个六晶体管电路来实现的. 属性:它可以无限制地保持在两个不同的电压配置或状态之一.其他任何状态都是不稳定的. 特点:由于SRAM的双稳态特性,只要有电,它就会永

2017-2018-1 20155334 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155334 <信息安全系统设计基础>第九周学习总结 学习目标: 了解常见的存储技术(RAM.ROM.磁盘.固态硬盘等) 理解局部性原理 理解缓存思想 理解局部性原理和缓存思想在存储层次结构中的应用 高速缓存的原理和应用 教材学习内容总结 一.常见的存储技术: 基本的存储技术包括随机存储器(RAM).非易失性存储器(ROM)和磁盘. 1. RAM分静态RAM(SRAM)和动态RAM(DRAM). 2. SRAM快些,主要用做CPU芯片上的高速缓存,也可以用作芯片下的

2017-2018-1 20155331 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155331 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器层次结构 存储技术 随机访问存储器 随机访问存储器分为:静态的SRAM.动态的DRAM 静态RAM: SRAM的特点:存储器单元具有双稳态特性,只要有电就会永远保持它的值,干扰消除时,电路就会恢复到稳定值. 动态RAM: DRAM的特点:每一位的存储是对一个电容的充电:对干扰非常敏感. 用途:数码照相机和摄像机的传感器 DRAM存储不稳定的应对机制: 存储器系统必须周期性地通过读出,或者重