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

教材学习内容总结

有符号整数、无符号整数、浮点数的表示

1.整型数据类型

32位机器和64位机器对于同一数据类型的典型取值范围是有所不同的 。 64位机器用8个字节表示;32位机器用4个字节表示

典型取值范围中,取值范围不对称——负数的范围比整数的范围大1

2.无符号数的编码

0-(2^w)-1中的每一个整数和长度为w的位向量是一一对应的

3.补码编码(有符号数的编码)

正数的补码=原码

负数的补码=原码各位取反再加1

负数的补码=原码各位取反再加1

大多数情况下用补码来表示有符号数,并且具有的是典型的取值范围

有符号数的其他表示方法:原码、反码

4.有符号数和无符号数的转换

转换原则:底层的位保持不变

无————>有:U2Tw函数(*w表示数据类型的位数)

以2的w-1次方为界限:小于它——保持不变;大于它——转换为负数值

有————>无:T2Uw函数

非负数——保持不变;负数——转换成大正数

补码的重要性

•能够统一+0和-0的表示

•采用原码表示,+0的二进制表示形式为0 000 0000,而-0的二进制表示形式为1 000 0000;

•采用反码表示,+0的二进制表示形式为0 000 0000,而-0的二进制表示形式为1 111 1111;

•采用补码表示,+0的二进制表示形式为0 000 0000,而-0的二进制表示形式为1 111 1111+1=1 0000 0000,因为计算机会进行截断,只取低8位,所以-0的补码表示形式为0000 0000。

•补码的表示范围比原码和反码表示的范围都要大。用补码能够表示的范围为-128127,0127分别用0000000001111111来表示,而-127-1则用10000001~11111111来表示,多出的10000000则用来表示-128。

•对于有符号整数的运算能够把符号位同数值位为一起处理

学习中的问题和解决过程

掩码是位运算的重要应用,对特定位可以置一,可以清零

补码的利用寄存器的长度是固定的特性简化数学运算。比如钟表,12-1 等价于 12 + 11,利用补码可以把数学运算统一成加法,只要一个加法器就可以实现所有的数学运算。

对“信息=位+上下文”的理解

数值可能改变,但是位模式不变

无符号二进制数 "1001" 是9, 转化为有符号数还是“1001”,但最高位变成-7

本周代码托管

感悟

这周开始了较多的代码编译,只是按照书上的代码敲了几次,但对代码的具体内容还不是很清楚,只知道大概。我认为刚开始还是多敲代码,才能熟练运用。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 4000行 25篇 350小时
第一周 0/ 0 2/2 20/30
第二周 100/100 1/3 20/50
第三周 300/400 1/4 20/70

参考资料

posted @ 2016-09-29 22:03  20145228江苒  阅读(205)  评论(4编辑  收藏  举报