20145313张雪纯《信息安全系统设计基础》第3周学习总结

20145313张雪纯《信息安全系统设计基础》第3周学习总结

教材学习内容总结

本周教材主要学习第二章。
这一章中主要讲了数据在计算机中的存储方式,特别是各种类型的数字数据。实际上数据在计算机中的存储是以二进制形式进行的,存储时的字节顺序有大端、小端两种。个人理解,大端是指高位存储在低地址、小端正好相反。同一段二进制数据,以不同方式读取时会表现不同,实际上是相同的。各个类型的数据转换时可能会出现错误。大部分知识点C语言、汇编程序设计和计算机计算机导论等等课程都已经讲过,不在此赘述。

我认为这一章的学习是为了让我们更好地理解数据在计算机中的存储,以便在编程时不至于因为数据类型的变化而导致程序运行错误。

重点练习

  • p24 进制转换

    • 这个代码在运行时出现了问题。
  • p28 参考p30代码,写个main函数测试show_bytes

  • p35 用GDB单步跟踪练习2.11


  • p44 把代码放到一个main函数中,用GDB单步跟踪一下



  • p47/p49 代码放到一个main函数中,用GDB单步跟踪




  • p78 写几行代码测试转换规则。


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

  • p24中的perl文件,在虚拟机中安装了perl软件后,运行时显示“没有那个文件或目录”

    • 解决:检查后发现在代码中定义了文件路径,修改后这个问题消失。
  • p24,.pl执行时显示权限不够。

    • 百度后得知.pl文件运行需要使用chmod命令增加权限,但当我输入chmod +x test.pl 后仍然提示权限不够,手动设置文件权限后仍无法解决。(大概)进入了root权限仍然权限不够??

  • p35中的代码,在vs中运行不出结果

    • 在vim中可正常运行,并可在gdb中单步调试。不知原因。
  • 在用gdb单步执行p35的代码时,莫名跳过了第一个scanf,导致进入for循环无法退出。

    • 解决:先用c命令运行至下一断点,再用quit跳出循环。这是不小心发现的办法,不知道是否正确。

家庭作业##

  • 2.56 用不同示例值运行P28代码


  • 2.59

    • (x&0xFF) | (y&~0xFF)
  • 2.61

    • A. !~x
    • B. !x
    • C. !~(x>>((sizeof(int)-1)<<3))
    • D. !(x&0xFF)

本周代码托管截图


其他

原来较为轻视课本的学习,总想走捷径,这次一页页读过课本以后发现自己对这些基础知识有了更深刻的了解。其实阅读课本也是很重要的。有时候看上去很笨的方法可能是最有效的。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/1 20/20
第二周 300/500 1/2 18/38
第三周 500/1000 1/3 22/60
第四周 300/1300 1/4 10/70

参考资料

posted @ 2016-09-27 01:06  20145313张雪纯  阅读(788)  评论(8编辑  收藏  举报