信息安全系统设计基础 第4周学习笔记

信息的表示和处理

一、信息存储

  ① 3种数字的表示:无符号编码、补码编码、浮点数编码。

  ② 二进制、八进制、十六进制转化

  ③ 字:字长为w位,虚拟地址范围为0~2^w-1,程序最多访问2^w个字节。

    数据大小:(short、long)int、char、long long、float、double

  ④ 寻址和字节顺序:  

    小端法:最低有效字节在最前面的方式(大多数Intel兼容机)

    大端法:最高有效字节在最前面的方式(大多数IBM和Sun Microsystems)

    双端法:可以设置其中一种。

  ⑤ 字符串(ASCII码)

  ⑥ 布尔代数:与 &、或 |、非 ~、异或 ^

     位级运算

  ⑦ 逻辑运算:&&和||(非零为TRUE,0为FALSE)

  ⑧ 移位运算:<<、>>

    java:<<>>、<<<>>>

二、整数表示

  ① char、short、int、long

    取值范围:

     典型取值范围中,取值范围不对称——负数的范围比整数的范围大1。

     c语言标准定义的每种数据类型必须能够表示的最小的取值范围中,正数和负数的取值范围是对称的。

  ② 无符号数、有符号数的补码编码

  ③ 截断数字:对于无符号数来说,就相当于 mod 2的k次幂,而对于有符号数来说,先按照无符号数截断,然后再转化为有符号数。

 

三、整数运算

整数运算较为精确,但进行有符号数运算时容易溢出,导致计算值出现错误。

整数加法: 形成交换群(阿贝尔群…)、模运算

      容易溢出,但满足结合律、交换律、分配律,可以进行优化计算

四、浮点数

浮点数运算不会溢出,但是计算的结果是一个大致的范围,并不十分精确,不同的计算过程会有不同的计算值。

  ① 二进制小数:权值2^(-w)(w为小数点右边第几位)

  ② IEEE浮点表示:符号、尾数、阶码

    规格化的值、非规格化的值、特殊值

  ③ 浮点运算:加法:不具有结合律,满足单调性

  ④ c语言的浮点数:float、double

遇到的问题:

溢出还是有些地方不是很清楚。

不知道阿贝尔群就是交换群,遗忘了交换群的概念以及性质,通过百度重新熟悉了以前的知识。

对运算公式的不熟悉,不知道是否需要记忆,希望今后用熟了就可以记下来。

 

posted @ 2015-10-04 20:08  20135312吴汉彦  阅读(152)  评论(0编辑  收藏  举报