zoukankan      html  css  js  c++  java
  • 2018-2019-1 20165228 《信息安全系统设计基础》第二周学习总结

    2018-2019-1 20165228 《信息安全系统设计基础》第二周学习总结

    教材学习内容总结

    信息=位+上下文

    • 无符号编码:基于传统的二进制表示法,表示大于等于零的数字
    • 补码编码:表示有符号数证书最常见的方式,可表示或正或负的数字
    • 浮点数编码:表示实数的科学计数法的以二为基数的版本
    • 溢出:计算机的表示法是用有限数量的位来对一个数字编码,当结果太大以至不能表示时,某些运算就会溢出

    信息的存储

    • 1个字节为8位,大多数计算机将1个字节作为最小的可寻址的存储器单位。
    • 机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器。存储器的每个字节都由一个唯一的数字来标识,称为地址。所有地址的集合称为地址空间。

    • 字长:指明证书和指针数据的标称大小。决定最重要的系统参数就是虚拟地址空间的最大大小。对于一个w位的机器而言,虚拟地址的范围为0~2w-1,程序最多访问2w个字节。

    字节排列规则

    • 小端法(little endian):最低有效字节排列在最前面
    • 大端法 (big endian):最高有效字节排列在最前面
    • 网络应用程序的代码编写必须遵守已建立的关于字节顺序的规则,以确保发送方机器将它的内部表示转换成网络的标准,而接收方机器则将网络标准转换为它的内部表示。

    字符串

    • C语言中的字符串被编码为一个以null(其值为0)字符结尾的字符数组。每个字符都由某个标准编码来表示,最常见的是ASCII字符码。
    • 不同的机器类型使用不同的且不兼容的指令和编码方式。即使处理器完全一样,但是运行不同操作系统,也会有不同的编码规则,因此二进制代码是不兼容的。

    十进制( Decimal)与R进制的转换

    • R个基本符号(0,1,2.R-1)
    • R称为基数(base),它代表每个数位上可以使用的不同数字符号个数。R称为第位上的权
    • 逢R进一

    二进制与八进制/十六进制的转换

    • 二进制转化为八进制:从低位开始,三位二进制码表示的十进制数作为一位八进制码,高位不足时补0。
    • 二进制转化为十六进制:从低位开始,四位二进制码表示的十进制数作为一位十六进制码,高位不足时补0。
    • 八进制/十六进制转化为二进制时,只需要将每一位八进制码/十六进制码还原为三位/四位二进制码即可。

    位级运算

    • 位向量:固定长度位w、由0和1组成的串
    • 位的高低:从左到右,从高到低
    • 运算:
      &(按位与)
      | (按位或)
      ~(按位取反)
      ^(按位异或)

    逻辑运算

      &&(逻辑与)
      ||(逻辑或)
      !(逻辑非)
    
    • 非零参数都表示TRUE,0表示FALSE
    移位运算
    • 逻辑右移:右移N位,就在高位补N个0
    • 算术右移:右移N位,就补N个最高位的值

    有符号数与无符号数之间的转换

    • 处理同样字长的有符号数与无符号数之间相互转换的一般规则:数值可能会改变,但是位模式不变。
      (1)有符号数→无符号数
      非负数——保持不变

    负数——转换成大正数
    (2)无符号数→有符号数
    以2^*(w-1)为界限:

    小于它——保持不变

    大于它——转换为负数值
    [0,2(w-1))范围内的数字,无符号和补码表示相同;范围之外的,需要加上或者减去2w

    运算时若同时存在有符号数和无符号数,会隐式的将有符号数强制类型转换为无符号数,并且假设这两个数都是非负的。

    无符号数运算

    • 加法:

    • 乘法:

    • 除法:向下取整

    补码运算

    • 加法:

    • 乘法:

    • 除法:算术右移

    浮点数运算

    IEEE浮点表示:V=(-1)s x M x 2E(符号 s,尾数 M,阶码 E)
    向偶舍入(默认):将数字向上或向下舍入,是的结果的最低有效数字为偶数。能用于二进制小数。
    向零舍入:把整数向下舍入,负数向上舍入。
    向下舍入:正数和负数都向下舍入。
    向上舍入:正数和负数都向上舍入。

    代码托管

    其他(感悟、思考等,可选)

    本周主要是理论知识的学习,进一步了解C中信息的存储、转换和运算规则。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 80/80 1/1 5/5
    第二周 0/80 1/2 4/9
    • 计划学习时间:9小时

    • 实际学习时间:4小时

  • 相关阅读:
    [NOI2005]维修数列
    [CTSC2008]网络管理Network
    Directory类
    System.Uri类
    ViewBag、ViewData和TempData使用方法、区别与联系
    Asp.net MVC 视图之公用代码
    MVC3 Razor模板引擎
    MVC之ActionResult
    Html辅助方法 之 Form表单标签
    MVC之 自定义过滤器(Filter)
  • 原文地址:https://www.cnblogs.com/cloud795/p/9729492.html
Copyright © 2011-2022 走看看