2017-2018-1 20155319 《信息安全系统设计基础》第3周学习总结

本文总结了《信息安全系统设计基础》课程第三周的学习内容,包括进制转换、字数据大小、寻址和字节顺序、布尔代数及浮点数表示等知识点,并详细解析了无符号数的算术运算过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2017-2018-1 20155319 《信息安全系统设计基础》第3周学习总结

教材学习内容总结

  • 进制转换

1.X=2^n n=i+4j此时X转化为0x 2^i+j个0。

2.x=q*16+r 短除法从下往上读余数。

3.用相应的16的幂乘以每个16进制数字。

  • 字数据大小

linux> gcc -m32 prog.c``linux> gcc -m64 prog.c在不同位计算机上正确运行程序。

  • 寻址和字节顺序

排列表示一个对象的字节有两个通用的规则。考虑一个w位的整数,其位表示为[Xw-1,Xw-2...X1,X0],其中Xw-1是最高有效位,而X0是最低有效位。假设w是8的倍数,这些位就能被分组成为字节,其中最高有效字节包含位[Xw-1,Xw-2...Xw-8],而最低有效字节包含位[X7, X6...X0],其他字节包含中间的位。某些机器选择在内存中按照从最低有效字节到最高有效字节的顺序存储对象,而另一些机器则按照从最高有效字节到最低有效字节的顺序存储。前一种规则—最低有效字节在最前面的方式,称为小端法(。后一种规则—最高有效字节在最前面的方式,称为大端法。

1071560-20171015103459512-1508827569.png

  • 布尔代数

1071560-20171015103508590-409211341.png

  • 浮点数

浮点数表示通过将数字编码为x*2^Y的形式来近似表达实数。最常见的复电表示方法是由IEE标准754定义的。他提供了几种不同的精度最常见的是单精度(32位)和双精度(64位)。

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

  • 问题1:对于无符号数的加法乘法等不太理解。
  • (1)无符号整形加法:对于32位表示的任意无符号整形x(xw-1…x0),有x∈[0, 2w-1],则s=a+b∈[0, 2w+1-2],所以

1、当s∈[0, 2w-1]时,未发生溢出,s=a+b

2、当s∈[2w,2w+1-2]时,发生了正溢出,由于无符号整形只能由32位表示,所以当溢出发生时需要截断到32位,舍弃第w位,此时s=(a+b)%2w,即s=a+b-2w
2)无符号整形减法:

对于32位表示的任意无符号整形x(xw-1…x0),有x∈[0, 2w-1],假设x的加法逆元是-x,则-x可以表示为

(I)-x=0,x=0

(II)-x=2w-x

则对于z=x-y,可以认为z=-y+x,则无符号整型的减法运算可以转换为无符号整型的加法运算。

(3)无符号整型的乘法运算:

对于32位表示的任意无符号整形x和y,设z=x*y,则z∈[0,(2w-1)2],要完整的表示z需要2w位,此时会发生溢出,操作系统会将z截断至w位,因此有

z =(x*y)mod2w。

(4)无符号整型的除法运算:

对于除法运算,需要注意的是被除数不能为0(这种情况不会视为溢出,而是作为异常中断来处理),且除法的结果总是舍入到0。

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

  • 问题1:在写myod的时候出现了一些编译不通过的情况在同学的帮助下实现了。

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2002/220/20
第二周300/5002/418/38
第三周500/10003/722/60
第四周300/13002/930/90
  • 计划学习时间:10小时

  • 实际学习时间:7.5小时

转载于:https://www.cnblogs.com/rhl20155319/p/7670168.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值