zoukankan      html  css  js  c++  java
  • 信息安全系统设计基础 第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

    遇到的问题:

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

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

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

  • 相关阅读:
    Python数据可视化——散点图
    [ffmpeg 扩展第三方库编译系列] 关于 mingw32 下编译libcaca
    独立python环境之virtualenv和virtualenvwrapper
    深入理解maven及应用(一):生命周期和插件
    Android页面事件挂接模拟
    第六课 Struts的视图组件
    wxWidgets笔记_1_linux环境下wxwidgets的安装与配置
    使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中&lt;meta-data&gt;变量的值
    ubuntu 下安装eclipse &amp;java环境配置
    [Swift]LeetCode695. 岛屿的最大面积 | Max Area of Island
  • 原文地址:https://www.cnblogs.com/whyfarrell/p/4854916.html
Copyright © 2011-2022 走看看