20155206 2017-2018-1 《信息安全系统设计基础》第3周学习总结
教材学习内容总结
一:
、 信息的表示和处理三种数字表示无符号数:
、 基于传统的二进制表示法,表示大于或等于零的数字补码:表示有符号数,
、 可为正可为负的数字浮点数:表示实数的科学计数法的以二为基数的版本整数运算和浮点数运算有不同的数学属性,因为它们处理数字表示有限性的方式不同,
整数的表示虽然只能编码一个相对较小的数值范围,但这种表示精确;浮点数编码数值范围相对较大,但是近似的。
二:
、 信息存储字节: 计算机最小的可寻址的存储器单位——字节,一个字节的值域:00H-FFH
、 每个计算机都有一个字长,指明整数和指针数据的标称大小。因为虚拟地址是以这种方式编码,所以,字长最重要的系统参数就是虚拟地址空间的最大大小。
对于一个字长为w位的机器而言,虚拟地址的范围为0~2^w-1
,程序最多访问2^w字节。w=32或64,此处的32/64指的就是常说的电脑处理器是32位或是64位——既,CPU一次最多可处理的数据位数。
三:
、 数据大小: C99特性:当没有-m32或-m64参数时,一般情况下会生成跟操作系统位数一致的代码;gcc -m32 XXX.c
,可以在64位机上生成32位的代码。
、 寻址和字节顺序:
小端法:最低有效字节在前面——“高对高,低对低”。
大端法:最高有效字节在前面。
四:
、 通常我们用到的是小端法,比如在X86汇编中接触到的就是小端法。小端法的特点上面已经说过是“高对高,低对低”,但是,其每个字节的内部是不变化顺序的,CPU以每个字节为单位寻址,所以字节内部的顺序是不变化的。
、 表示字符串和表示代码 字符串:c语言中字符串被编码成为一个以null(值为0)字符结尾的字符数组。使用ASCII字符码。在使用ASCII字符码的任何系统上都能得到相同的结果,与字节顺序和字大小规则无关,所以文本数据比二进制数据具有更强的平台独立性。
、 二级制代码编码规则:二进制代码在不同的操作系统上有不同的编码规则,所以二进制代码是不兼容的。
如:char *
使用机器的全字长,在32位的机器中占用4个字节,在64位的机器中占8个字节。
、 代数运算符号:
、 与:&& (位与:&)
、 或:||(位或:|)
、 非:!(位非:~)
、 位异或:^
、 位向量:有固定长度为w、由0和1组成的串。 位向量的应用——表示有限集合。掩码运算:掩码是位运算的重要应用,这里掩码是一个特定位模式,表示从一个字中选择一个位的集合。对特定位可以置一,可以清零。
、 如:任取一个数x=0x123ABCDE,x&0xFF = 0x000000DE
类似计算机网络中“子网掩码”这个概念。