zoukankan      html  css  js  c++  java
  • 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小时

    (有空多看看现代软件工程 课件
    软件工程师能力自我评价表
    )

    参考资料

  • 相关阅读:
    HTML 网页创建
    CSS3 opacity
    两数相加的和
    九九乘法表
    Linux下的Makefile初入
    linux 下定义寄存器宏 实现类似于STM32的寄存器操作
    Linux 编译与交叉编译
    linux IMX6 汇编点亮一个LED灯
    Linux基本指令与作用
    C# Task 源代码阅读(2)
  • 原文地址:https://www.cnblogs.com/20155226thy/p/8099705.html
Copyright © 2011-2022 走看看