zoukankan      html  css  js  c++  java
  • 2019-2020-1 20175314 《信息安全系统设计基础》第2周学习总结

    2019-2020-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语言版本提供了两种不同的浮点数据类型:floatdouble
    • 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:因为校园网延迟高导致git一直安装失败

    代码托管

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

    上周考试错题总结

    感想心得

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

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/4 10/15

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

    • 计划学习时间:15小时

    • 实际学习时间:10小时

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

    参考资料

  • 相关阅读:
    姐姐的vue(1)
    LeetCode 64. Minimum Path Sum 20170515
    LeetCode 56. 56. Merge Intervals 20170508
    LeetCode 26. Remove Duplicates from Sorted Array
    LeetCode 24. Swap Nodes in Pairs 20170424
    LeetCode 19. Remove Nth Node From End of List 20170417
    LeetCode No.9 Palindrome Number 20170410
    LeetCode No.8. String to Integer (atoi) 2017/4/10(补上一周)
    LeetCode No.7 Reverse Integer 2017/3/27
    LeetCode No.4 Median of Two Sorted Arrays 20170319
  • 原文地址:https://www.cnblogs.com/SANFENs/p/11608645.html
Copyright © 2011-2022 走看看