20145202 《信息安全系统设计基础》第3周学习总结
教学内容总结
三种数字:
- 无符号数:基于传统二进制表示法,表示大于或者等于零的数字。
- 补码:表示有符号整数的最常见方式
- 浮点数:表示实数的科学计数法的以二为基数的版本。
计算机使用8位的块,或者字节,作为最小的可寻址的存储器单位,一个字节由8位组成,她的值域时0--255。
在计算机上,多字节对象都被存储为连续的字节序列,对象的地址为所使用字节中最小的地址。
布尔运算,补码的各种运算,浮点数运算,二进制小数的运算和汇编课上所学到的是一样的,这里就不说了。
c语言中的移位运算:x<<k,x左移k位,右边补0。
无符号数和有符号数之间互相转换时是可能出错的。这个我在代码里也试过,在书44页。
字节顺序是网络编程的基础。
- 小端法:高对高,低对低。
- 大端法:高对低,低对高。
实验楼中的学习
书上的一些代码我在虚拟机上敲了敲,把实验楼中的重点要求的题目在虚拟机上运行了一遍。
- 二进制文件可以用od命令查看
- 指针就是地址,局部变量保存再寄存器中
家庭作业
我做的是第56题,要求我用多组值来测试show_bytes
代码运行中的问题和解决过程
在运行树上的show_bytes的时候出现了这个情况没有声明,当时我只是简单的把代码敲到虚拟机上只是想看看能出来什么结果。
看了书上的完整内容之后知道要先声明一下所以我就先做了一个库,这样就可以运行了。
本周代码托管链接
git.oschina.net/tuolemi/haha/tree/3