• 20145203 《信息安全系统设计基础》第三周学习总结


    20145203 《信息安全系统设计基础》第三周学习总结

    第2章 信息的表示和处理

    1、信息存储

    计算机最小的可寻址的存储器单位——字节

    一个字节的值域:00H-FFH

    2、进制转换

    常用进制:二进制(B),十进制(D),八进制(O或者Q),十六进制(H)

    转换为二进制-十六进制相互转换,二进制的四位数字对应十六进制的一位数字。

    二进制与八进制的转化是三位对应一位。

    通常情况下,进制转换都以二进制为桥梁进行转换。

    3、字

    字长决定虚拟地址空间的最大大小。

    字长为w,虚拟地址的范围为1-(2^w-1)

    w=32或64:也就是我们通常所说的电脑是32位还是64位。

    4、小端法和大端法

    * 小端法:最低有效字节在前面——“高对高,低对低”
    * 大端法:最高有效字节在前面

    注意:

    有效位的高低的判断:

    以0x01234567为例,每个字节为8bit所以2个十六进制位为1个字节,即划分为01,23,45,67;在最前面的为最高有效位,最后面的为最低有效位,所以最高有效位-01,最低有效位-67。

    大端法:
        最高有效位在最前,所以为01 23 45 67
        小端法:
        最低有效位在最前,所以为67 45 23 01

    但是字节内部的顺序是不变的!以前在学汇编的时候经常犯这种错误!理解最高/低有效位的含义!

    所以在书写小端法的字节序列时,最低有效位在左边,最高有效位在右边,与惯常书写方法相反。

    5、无符号数的编码

    0-(2^w)-1中的每一个整数和长度为w的位向量是一一对应

    6、强制类型转换

    位级角度考虑。

    强制类型转换的结果保持位值不变,只是改变了解释这些位的方式。即:这些位上的值不变,但是由于最高有效位的权重发生变化,从而导致结果发生改变。

    7、c语言中的有符号数和无符号数及其转换

    转换原则:底层的位保持不变。
    (1)有符号数→无符号数

    * 非负数——保持不变
    * 负数——转换成大正数

    (2)无符号数→有符号数

    以2的w-1次方为界限:

    * 小于它——保持不变
    * 大于它——转换为负数值

    8、扩展

    扩展——从一个较小的数据类型转换为较大的数据类型,同时保持数值不变。

    ①零扩展
    多用于无符号数转换为一个更大的数据类型。只需在开头加上0即可。

    ②符号扩展
    多用于补码数字转换

    最高有效位是什么,就添加什么。

    注:无符号和有符号数字之间的转换,和数据的大小的转换,这之间的相对顺序能够影响到一个程序的行为。具体见联系2.23。

    9、截断数字
    不用额外的位来扩展数值,而是减少表示一个数字的位数。而这么做可能会改变它的值,这也是溢出的一种形式。

    将一个w位的数截断为k位数字时,就会丢弃高w-k位。

    对于无符号数来说,就相当于 mod 2的k次幂

    对于有符号数来说,先按照无符号数截断,然后再转化为有符号数

    具体的公式参见书52页。

    10、关于适用范围:

    无符号数适用于没有任何数字意义的位的集合,比如地址;又或者实现模运算、多精度运算的时候,数字由字的数组表示的时候。

    编程中多用有符号数

    11、整数运算的总结
    * 计算机执行的“整数运算”实际上是一种模运算
    * 无论运算数是以无符号形式还是补码形式表示,都有完全一样或者非常类似的位级行为。
    * 在编写c语言程序时需要谨慎食用unsigned数据类型,很可能会造成漏洞。

    T托管代码截图

    总结

    以往写博客虽然也是在接触新知识,但是比较容易理解和接受。但是这次的博客从新的角度去刷新我们对于旧知识的理解,而且涉及的内容比较深,所以感觉非常难理解。很多琐碎的细节需要自己去注意,并且要不断的实践,不断地在失败加深记忆。不过学完之后,真的感觉自学学到的东西和听老师讲课学到t的东西是不一样的。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 150/150 1/2 20/20
    第二周 200/350 1/2 24/44
    第三周 150/500 1/3 20/64

    参考资料

  • 相关阅读:
    安卓开发学习日记 DAY1
    安卓开发学习日记 DAY5——监听事件onClick的实现方法
    安卓开发学习日记 DAY3——TextView,EditView,ImageView
    [原] XAF Try an XAF application that uses the Entity Framework as an ORM layer
    [原] XAF 如何使用Top
    [原] Sql Server 获取某年某月有多少个工作日(仅不包含星期日)
    [原] XAF Split View (aka MasterDetailMode=ListViewAndDetailView) improvements
    Sql Server 问题之between and 使用注意事项
    [原] XAF ListView 粘贴行或单元格
    [原] XAF How to see and edit the time part in the DatePropertyEditor for the System.DateTime property
  • 原文地址:https://www.cnblogs.com/GZSdeboke/p/5928266.html
Copyright © 2020-2023  润新知