通过使用标准的字符码能够对文档中的字母和符号进行编码。

三种重要的数字表现形式:

1、 无符号数:编码基于传统的二进制表示法表示大于或等于零的数字。

2、 补码:编码是表示有符号整数的最常见方法,可以是正或者是负的数字。

3、 浮点数:编码是表示实数的科学计数法的以二位基数的版本

溢出:计算机的表示法是用有限数量的位来为一个数字编码,因此当结果太大就会导致某些运算溢出。

整数和浮点数会有不同的数学属性是因为:处理数字表示有限性的方法不同:

整数:编码相对较小的数值范围,但精确度高 浮点数:编码较大范围的数,但这种表示是近似的

信息的表示和处理

一、信息存储

  ① 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:<<、>>、<<<、>>>

二、整数表示

最高位有效位也称符号位,权重为-2^w-1。符号位为1是负为0是正。

C语言中的有符号数和无符号数:默认有符号,若想创建无符号常量必须加后缀U/u。

  ① char、short、int、long

    取值范围:

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

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

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

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

三、整数运算

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

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

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

1.无符号加法:可以被视为模运算形式,等价于计算和模2^w。运算的溢出是指完整的整数结果不能存放到数据类型的字长限制中。

2.补码加法:负溢出得到的结果比整数和大16,正溢出得到的结果比整数小16.

3.补码乘法:给定长度的两个为位向量,无符号乘积的位级与补码乘积的位级表示是相同的,表明及其可以用一种乘法指令来进行有符号数和无符号数的乘法。无符号和补码乘积的低位是相同的

4.乘以常数:为了缩短计算时间,试着用移位和加法运算的组合来代替乘以常数的乘法。

5.除以2的幂:除法比乘法的计算时间更长。除以2 的幂用右移而不是左移。

6.关于整数运算:整数运算实际是一种模运算。表示数字的有限字长限制了可能的取值范围,结果可能溢出。补码提供了技能表示正数也能表示负数的灵活方法,同时使用了与执行无符号算数相同的位级实现。

四、浮点数

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

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

与十进制小数类似。二进制小数点向左移动一位相当于这个小数被2除,向右移动一位相当于该数乘以2。

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

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

IEEE浮点表示:标准 V=(-1)^sM2^E

其中:

符号:s  决定这个数是正数还是负数。    尾数:M 二进制小数。    阶码:E  对浮点数加权,权重是2 的E次幂。

将浮点数的位划分成三段分别进行编码:

一个单独的符号位直接编码符号。    K位的阶码字段exp=ek-1……e1e0编码阶段    N位小数字段

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

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

数字示例:k位阶码和n位小数的浮点表示的一般属性:

值+0.0总有一个全为0的位表示。最小的正非规格化值的位表示,是由最低位为1而其他位为0构成的最大的非规格化值的位表示,是由全为0的阶段字码和全为1的小数字段组成最小的正规格化值的位表示,是由最低位为1而其他位为0构成的。值1.0的位表示的阶码字段除了最高有效位等于0以外其他位为1.最大的规格化值的位表示,符号位为0阶码的最低有效位为0,其他位为1.

遇到的问题:

计算时对运算公式的不熟悉,日后要多多练习增加熟练程度。

对阿贝尔群的概念初次接触还不是很了解,要和之前的交换群加以相互理解概念以及性质。

运算时的溢出情况理解的相对还不是很透彻。

转载于:https://www.cnblogs.com/20135316wjq/p/4862121.html

20135316王剑桥 linux第三周课实验笔记相关推荐

  1. 20135316王剑桥 linux第六周课实验笔记

    6.存储器层次结构 6.1存储技术 1.如果你的程序需要的数据是存储在CPU寄存器中的,那么在执行期间,在零个周期内就能访问到它们.如果存储在高速缓冲中,需要1-10个周期.如果存储在主存中,需要50 ...

  2. linux实验报告ALU,20135316王剑桥 linux第五周课实验笔记

    指令分类 具体指令 说明 传送指令(XXmovl) (4种) 指令 源 目的 irmovl 立即数 寄存器 rrmovl 寄存器 寄存器 mrmovl 存储器 寄存器 rmmovl 寄存器 存储器 Y ...

  3. 20135316王剑桥Linux内核学习笔记第三周

    20135316王剑桥 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC 1000029000 三个法宝:存储程序计算机.函数调 ...

  4. Linux第三周作业

    1.三个法宝 ①存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: ②函数调用堆栈,堆栈完成了计算机的基本功能:函数的参数传递机制和局部变量存取 : ③中断,多道程序操作系统的基点,没有中断机制 ...

  5. 大数据实时处理第三周课

    1.双重循环 如果不加else的话 多加一个\t 2.公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡.母鸡.小鸡各多少只? 3.计算1+ 2 + 3 + - + 1 ...

  6. 初学Linux第三周

    简单shell脚本: #!/bin/bash      第一行必须包括shell声明序列:#! # #************************************************* ...

  7. 第三周java实验报告

        实验三 Java基本程序设计(2) 实验时间 2018-9-13 第一部分:理论知识回顾 第一章 再次了解了java"白皮书"的关键术语,java的常见术语,对于大多数&q ...

  8. Linux小白三天入门进阶笔记——DAY1

    1.Linux特点 开源 多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能 服务器不使用图形化界面: 图形化占用资源 机房部署方便,无需配 ...

  9. 【计算机系统结构】第一周 课上笔记

    课件下载:https://mcai.github.io/teaching/courses/computer_architecture/

最新文章

  1. Flash完美跨域访问的方法
  2. 用MXnet实战深度学习之二:Neural art
  3. 下载python步骤_下载及安装Python详细步骤
  4. bashrc, bash_profile etc;
  5. 【HDU 1276】士兵队列训练问题(两个队列模拟)
  6. 网站服务器被访问 io,服务器端被客户端访问完以后出现java.io.ioexception,socket问题。...
  7. 拓扑排序排课系统_视频结构化人脸布控系统
  8. 飞鸽传书有多少用户?
  9. 深度探索Win32可执行文件格式
  10. 静态成员内部类和非静态成员内部类的实例化方式
  11. 仿头条新闻app,实现下拉刷新,上拉加载分页
  12. php中如果想要打印出来的结果换行怎么操作_现在,就要对文件的批操作,动刀子啦!!!...
  13. 机器学习中的「相似度度量」方法及应用
  14. PYTHON INSTALL
  15. 投身管理工作(项目经理修炼手册正文的开头)
  16. 计算机图形学笔记------变换与光栅化的理论知识
  17. 苹果显示器(Apple Cinema Display)连接Windows的亮度调节方法(Win10可用)
  18. 英国essay与澳洲essay写作区别以及注意事项
  19. 电信路由器怎么设置虚拟服务器,电信路由器怎么设置 如何设置电信路由器
  20. AntV使用方法详解

热门文章

  1. 为Surface Neo和Surface Duo准备代码
  2. 给阿里云CentOS系统安装中文字体
  3. 国产世界最快的计算机,开机一分钟 地球人算32年——揭秘全国产世界最快超级计算机“神威·太湖之光”...
  4. 用Flash制作Scorm标准课件
  5. linux的库文件路径,Linux下的库文件搜索路径
  6. 谈谈电子商务系统中的规格设计,SKU的简单管理
  7. 阿里云服务器ECS实例规格是什么意思?
  8. Android 自定义相机Camera流程
  9. 私有镜像仓库Harbor仓库v1.8.1离线安装以及生产基本使用
  10. Complexity 汇总