20211406张顺扬

导航

2021-2022-1 20211406张顺扬 《信息安全专业导论》第四周学习总结

2021-2022-1 20211406 《信息安全专业导论》第四周学习总结

作业信息

作业所属课程 2021-2022-1信息安全专业导论
作业要求 2021-2022-1信息安全专业导论第四周作业
作业目标 学习python的位运算
作业正文 本博客链接

教材学习内容总结

本周学习了base64编码解码,IEEE754浮点数(十进制数转单精度浮点数)的运算方法和程序编写,整数转罗马数字(1-4000),图像的读取和矩阵转为图片。

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

很多抽象概念不了解,通过网上资料查找后理解出概念

代码调试中的问题和结局过程

在IEEE754浮点数编写程序时耗费大量时间,出现很多问题

1.利用split命令进行浮点数的小数点前后数字的分离时,必须要把浮点数转化为字符串的形式才能用.split命令

a='2.32'
a=a.split('.')

例如上面的命令,在我们print(a)后会显示['2','32'],也就是a此时已经作为列表形式


2.

a1='+0'
a2='-0'

此时a1,a2是字符串形式,当我们把它们转化为int(整数)形式时会直接显示0,正负号会舍去,这是我在编写程序时发现的一个细节


3.当我们得到E的值时,想要把它填充为8位时可以用.zfill(8)的命令

a2=bin(10)[2:].zfill(8)

bin(10)也就是转化为二进制0b1010的形式,[2:]也就是从第3位开始显示,也就是1010,此时a已经是字符串形式,我们也就可以使用.zfill(8)的命令向前填充4个0,最终得到00001010字符串。


4.

a=['8']
b=''.join(a)

当我们print(b)会直接显示8,如果直接运用b=str(a)来运行b,会显示['8'],只不过此时类型从列表变为字符串,运用.join的好处就在于这一点

##IEEE754浮点数代码托管链接

阿拉伯数字转罗马数字托管链接

图像处理托管链接

上周考试错题总结

  • 我国信息安全领域工作经历了 通信保密,信息安全,信息安全保障 三个阶段
  • What's the number of errors per line of code that can be expected in good software?
    • 2 errors per 1000 lines
  • What algorithm complexity is not dependent on the size of a problem?
    • 0(1)
  • The halting problem is an unsolvable problem
    • Right

其他

编个程序花了两天,服了

学习进度条

代码行数 博客量 学习时间 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 1/7 22/60
第四周 600/1000 1/5 15/60

posted on 2021-10-16 16:51  20211406张顺扬  阅读(33)  评论(0)    收藏  举报