码迷,mamicode.com
首页 > 其他好文 > 详细

2018-2019-1 20175314 《信息安全系统设计基础》第2周学习总结

时间:2019-09-29 20:07:49      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:RoCE   位操作   逻辑   就是   计算机系统   组合   text   多字节   代码行数   

2018-2019-1 20175314 《信息安全系统设计基础》第2周学习总结

教材学习内容总结

  • 计算机使用字节作为最小的可寻址存储单位。程序将存储视为一个很大的字节数组,成为虚拟存储器。
  • 存储器的每个字节都由一个唯一的十六进制数字表示,称为地址,所有可寻址的地址的集合称为虚拟地址空间。虚拟地址空间是展现给机器级程序的概念性映像。
  • 无符号编码基于传统的二进制表示法,表示大于等于零的数字。
  • 补码编码(有符号整数)可以为正或者负的数字。浮点数编码表示实数的科学计数法的以2位基数的版本。
  • 进制转换:以二进制结果作为中介。
  • 字节顺序:在几乎所有的机器上,多字节对象都被存储为连续的字节序列,对象的地址为所使用字节中最小的地址。小端法:最低有效字节在前;大端法则反之。需注意,比如0x12345678,78是低位,12是高位。
  • 位运算与逻辑运算:位运算是指两个或多个数值逐位运算,比如1011|0101=1111;逻辑运算只有真假即true false;非0即为真,0为假。比如1011||0101,1011和0101都是非0,所以等同于1||1,结果为真。
  • 0扩展:[1,0,1,1]->[0,0,0,1,0,1,1];符号位扩展[1,0,1,1]->[1,1,1,1,0,1,1]。
  • 整数表示:整型数据类型表示有限范围的整数。负数的范围比正数的范围大1;强制类型转换的结果保持位值不变,只是改变了解释这些位的方式。
  • 整数运算:编译器使用了一项重要优化,试着用位移和加法运算的组合来代替乘以常数因子的乘法。
  • 整数运算的溢出:如9[1001]+12[1100]=21[10101],4位的话5[0101]=21 mod 16。整数运算实际上是一种模运算形式。
  • 浮点数表示对形如V=x * 2^y的有理数进行编码。不太关注运算的精确性,而把实现的速度和简便性看得比数字精确性更重要。
  • 浮点数:
  • 1、IEEE浮点标准用V = (-1)^s * M * 2^E
    s:sign,符号,决定正负。
    M:significand,尾数,通常是[1.0~2.0)范围的小数
    E:exponent,阶码,就是次方数。
  • 2、IEEE标准定义了一些使之更合理的规则。例如,定义1 / -0将产生-∞,而定义1 / +0会产生+∞
  • 3、 C语言版本提供了两种不同的浮点数据类型:float 和 double。
  • 4、浮点数和整数之间的转化:
    从int ---> float可能会发生舍入,但是不会发生溢出
    从int --> double,如果Int的值是在53位以下的(包括53位),会得到一个精确的转换。
    从float --> double, 我们会得到一个精确的转换因为double的精度远远大于float的精度
    从float, double -- > int,这样的转化可能会有问题,一个是从单精度浮点数到Int,由于阶码的存在,要调整尾数的尾数,所以在移位操作的时候可能会丢掉一些低有效位。
  • 计算机的字长(cpu位数)决定了虚拟地址空间的大小,如32位cpu的寻址范围为0~2的32次方,最大虚拟地址为4G,所以32位操作系统的最大可用内存为4G。32位cpu表示的地址总线为32根。
  • 大端法和小端法:小端法为低地址对应低字节,大端法为低地址对应高字节。Intel处理器大多数采用小端法。
    技术图片

教材学习中的问题和解决过程

  • 问题1:
  • 问题1解决方案:
  • 问题2:
  • 问题2解决方案:
  • ...

代码调试中的问题和解决过程

  • 问题1:
  • 问题1解决方案:
  • 问题2:
  • 问题2解决方案:
  • ...

代码托管

暑假期间重装了电脑系统,虚拟机因为宿舍网延迟掉包还没能将git成功安装,后有机会再补

上周考试错题总结

感想心得

本周学习内容在上学期汇编语言程序设计上有一定基础,但依然做好了针对性的学习,上周因为虚拟机安装问题耽误了很多进程,我会在国庆期间继续努力争取进度赶在课堂前面。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

因为git无法安装,脚本也无法运行

  • 计划学习时间:15小时

  • 实际学习时间:10小时

  • 改进情况:开始对课程学习有系统化的规范

参考资料

2018-2019-1 20175314 《信息安全系统设计基础》第2周学习总结

标签:RoCE   位操作   逻辑   就是   计算机系统   组合   text   多字节   代码行数   

原文地址:https://www.cnblogs.com/SANFENs/p/11608645.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!