20155236 2017-2018-1 《信息安全系统设计基础》第3周课程总结
20155236 2017-2018-1 《信息安全系统设计基础》第3周课程总结
教材学习内容总结
-
三种数字表示
无符号数:基于传统的二进制表示法,表示大于或等于零的数字
补码:表示有符号数,可为正可为负的数字
浮点数:表示实数的科学计数法的以二为基数的版本
-
整数运算和浮点数运算因为它们处理数字表示方式不同,整数的表示只能编码一个相对较小的数值范围,但这种表示精确;浮点数编码数值范围相对较大,但是近似的。
-
寻址和字节顺序:
小端法:最低有效字节在前面——“高对高,低对低”。
大端法:最高有效字节在前面。
我们一般用小端法。其特点是“高对高,低对低”,但是其每个字节的内部是不变化顺序的,CPU以每个字节为单位寻址,所以字节内部的顺序是不变化的。
例子:0x1234567,小端法67 45 23 01,大端法:01 23 45 67 -
整数的取值范围
32位机器和64位机器对于同一数据类型的典型取值范围是有所不同的。
典型取值范围中,取值范围不对称——负数的范围比整数的范围大1。
c语言标准定义的每种数据类型必须能够表示的最小的取值范围中,正数和负数的取值范围是对称的。
要用C99标准中的“long long”类型,编译是要用gcc -std = c99
-
浮点数的舍入:
IEEE浮点格式定义了四种不同的舍入方法:
向偶舍入(默认):将数字向上或向下舍入,是的结果的最低有效数字为偶数。能用于二进制小数。
向零舍入:把整数向下舍入,负数向上舍入。
向下舍入:正数和负数都向下舍入。
向上舍入:正数和负数都向上舍入。
教材学习中的问题和解决过程
-
对于浮点数而言,根据阶码的值,被编码的值可分为哪三种?
-
情况一:规格化的值(当阶码字段不全为0或全为1时),阶码 E = e-Bias(e为无符号整数);
偏置值Bias = 2^(k-1)-1;尾数 M = 1+f(小数字段frac的解释为描述小数值f,二进制小数点在小数字段最高有效位的左边)。
情况二:非规格化的值 (当阶码字段全为0时),E = 1-Bias;Bias = 2^(k-1)-1;M = f。
情况三:特殊值 (当阶码字段全为1时),当小数域全为0时, 当s=1时,为-∞;当s=0时,为+∞;当小数域不全为0时,为NaN。 -
可以用
man perl
查看perl
帮助
代码调试中的问题和解决过程
- perl输入在
./
之前
上周错题总结
http://www.cnblogs.com/fcgfcgfcg/p/7614912.html
本周结对学习情况
结对学习内容
- 浮点加法:
浮点加法是可交换的。
浮点加法不具有结合性,这是缺少的最重要的群属性。
浮点加法满足了单调性属性:如果a≥b,那么对于任何a、b以及x的值,除了NaN,都有x + a ≥ x + b
。无符号或补码加法不具有这个实数(和整数)加法的属性。
- 浮点乘法:
浮点乘法是可交换的
浮点乘法不具有结合性
浮点乘法的单位元为1.0
浮点乘法在加法上不具备分配性
其他(感悟、思考等,可选)
- 书上给的脚本有些并不一定说怎么使用,我们还是要自己想想如何运用,比如perl命令,我们在输入命令行时,就要在命令前加入perl。这周主要学习了信息的表示和处理,从操作系统出发,了解了内存中的存储读取机制,以及各种标准对信息的表示与要求,更深层次的了解到了信息在计算机中的表示。
代码截图
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 10/10 | 1/1 | 10/10 | |
第二周 | 100/100 | 2/2 | 19/25 | |
第三周 | 200/278 | 1/3 | 10/26 |