2019-2020-1 20175324 《信息安全系统设计基础》第3周学习总结
##《信息安全系统设计基础》第3周学习总结 ###一、三种重要的数字表示 + 1.无符号数、有符号数、浮点数 正数的原码、反码以及补码是其本身。 负数的原码是其本身,反码是对原码除符号位之外的各位取反,补码则是反码加1。 + 2.为什么用补码表示 能够统一+0和-0的表示 采用原码表示,+0的二进制表示形式为0 000 0000,而-0的二进制表示形式为1 000 0000; 采用反码表示,+0的二进制表示形式为0 000 0000,而-0的二进制表示形式为1 111 1111; 采用补码表示,+0的二进制表示形式为0 000 0000,而-0的二进制表示形式为1 111 1111+1=1 0000 0000,因为计算机会进行截断,只取低8位,所以-0的补码表示形式为0000 0000。 补码的表示范围比原码和反码表示的范围都要大。用补码能够表示的范围为-128~127,0~127分别用00000000~01111111来表示,而-127~-1则用10000001~11111111来表示,多出的10000000则用来表示-128。 对于有符号整数的运算能够把符号位同数值位为一起处理 如果把符号位单独考虑的话,CPU指令还要特意对最高位进行判断,使计算机的最底层实现变得复杂。 + 3.整数溢出漏洞 参考资料:整数溢出与程序安全 一个整数是一个固定的长度,它能存储的最大值是固定的