20175216 2019-2020-1 《信息安全系统设计基础》第二周学习总结

20175216 2019-2020-1 《信息安全系统设计基础》第二周学习总结

教材学习内容总结

  • 排列表示一个对象的字节有两个通用的规则:小端法(最低有效字节在最前面)和大端法(最高有效字节在前面)
    两者区别:

  • 逻辑运算只有0或1两种结果,而位级运算进行的是按位处理。

  • 表达式x>>k会将x算术右移k(左端补k个有效位)个位置,而x>>>k会对k做逻辑(左端补k个0)右移。

  • 要将一个补码数字转换为一个更大的数据类型,可执行一个符号扩展。

  • long:32位机器:4字节;64位机器:8字节

  • 负数的范围比整数的范围大1

  • 无符号数的编码:
    B2U(x->)=x*(2^x)之和

  • 补码编码(计算机中最常见的有符号数表示方式):
    B2T=最高位x最高位权重+其他位权重之和

  • 要将一个补码数字转换为一个更大的数据类型,可执行一个符号扩展。

  • 在相同长度的无符号和有符号整数之间进行强制类型转换时,大多数C语言实现遵循的原则是底层的位模式不变。

  • 由于表示的精度有限,浮点运算是不可结合的(书中举例P20)。

  • 浮点数的乘除法可以通过左移或者右移来进行计算。

  • 浮点数的计算:根据表格:

  • C语言允许在各种不同数据类型之间做强制类型转换。但要注意,将负数转换为无符号数可能会得到0,且强制类型转换的结果保持位值不变,只是改变了解释这些位的方式。

  • C语言支持所有整数数据类型的有符号和无符号运算,大多数数字都默认为是有符号的,所以要创建一个无符号常量,必须要就爱上后缀字符“U”或者‘u’,如123U。

  • 零扩展和符号扩展:零扩展应用于无符号整数,符号扩展应用于有符号整数。

  • 截断无符号数:x'=xmod(2^k) 截断k位

  • 截断补码数值:x'=U2(T_k)(xmod2^k)

  • 网络字节序和主机字节序之间的转换:

上周错题总结

其他(感悟、思考等,可选)
虚拟机一定记得备份,否则虚拟机崩了之后就会丢失,非常麻烦。
学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 0/0 7/7
第二周 106/106 1/1 9/16
posted @ 2019-09-29 21:56  20175216张雪原  阅读(126)  评论(0编辑  收藏  举报