20145310《信息安全系统设计基础》第三周学习总结
20145310《信息安全系统设计基础》第三周学习总结
教材学习内容总结
整型数据类型
32位机器和64位机器对于同一数据类型的典型取值范围是有所不同的 。 64位机器用8个字节表示;32位机器用4个字节表示
典型取值范围中,取值范围不对称——负数的范围比整数的范围大1
三种最重要的数字表示:
①无符号:基于传统的二进制方法,表示大于等于0的数字
②补码(有符号数):表示有符号数整数的最常见方法,有符号整数就是可以为正或者负的数字
③浮点数:表示实数的科学计数法的以2为基数的版本
·进制转换:用二进制做中间结果就会好转换
·对于一个字长为w位的机器,虚拟地址的范围为0~2的w次-1,程序最多访问2的w次方个字节。现在机器的字长一般是32位或者64位。
·c语言支持整数和浮点数的多种类型
·gcc -m32 可以在64位机上生成32位的代码
·小端法:最低有效字节在最前面,(高对高,低对低)。大多数Intel兼容机采用
大端法:最高有效字节在最前面,(高对低,低对高)。大多数IBM和Sun Microsystems的机器采用
双端法:将其配置成作为大端或小端的机器运行。许多比较新的微处理器采用
有符号数和无符号数的转换
转换原则:底层的位保持不变
无————>有:U2Tw函数(*w表示数据类型的位数)
以2的w-1次方为界限:小于它——保持不变;大于它——转换为负数值
有————>无:T2Uw函数
非负数——保持不变;负数——转换成大正数
对于无符号和补码乘法来说,乘法运算的位级表示都是一样的
·二进制小数:小数点左边的数字的权是10的非负幂,得到整数值,小数点右边的数字是10的负幂,得到小数值
·IEEE浮点表示:给定了位表示,根据exp的值,被编码的值分为三种不同情况:
①规格化的值 ②非规格化的值 ③特殊值
·IEEE提供最常见精度是单精度和双精度
教材学习中的问题和解决过程
逻辑运算符与位运算符的区别
逻辑与:&& 按位与:&
逻辑或:|| 按位或:|
逻辑运算是指表达式返回值的运算,这里的值只有真与假;按位运算是指数值转换为二进制后的位运算,每位是0或1
真 逻辑与 真 结果为真
真 逻辑与 假 结果为假
1 按位与 1 结果为1
1 按位与 0 结果为0