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

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

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.

遇到的问题:

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

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

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

20135316王剑桥 linux第三周课实验笔记的更多相关文章

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

    关于who 功能说明:显示目前登入系统的用户信息. 语 法:who [-Himqsw][--help][--version][am i][记录文件] 补充说明:执行这项指令可得知目前有那些用户登入系统 ...

  2. 20135316王剑桥 linux第五周课实验笔记

    4.1.1程序员的可见的状态 ———— Y86的每条指令都会读取或修改处理器状态的某些部分,称为程序员可见状态.如图1所示. 1.程序寄存器(Program registers): %eax, %ec ...

  3. 20135316王剑桥 linux第七周课实验笔记

    第十章.程序间的交互和通信 输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程.输入操作是从I/O设备拷贝数据到主存,而输出操作是从主存拷贝数据到I/O设备. 输入:从I/O拷贝到主存,输出:从 ...

  4. 20135316王剑桥 linux第十一周课实验笔记

    getenv函数 1.获得环境变量值的函数 2.参数是环境变量名name,例如"HOME"或者"PATH".如果环境变量存在,那么getenv函数会返回环境变量 ...

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

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

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

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

  7. 20135316王剑桥Linux内核学习记笔记第七周

    20135316王剑桥<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC 1000029000 一.可执行程序是怎么得来的? 编译 ...

  8. 20135316王剑桥Linux内核学习笔记第四周

    20135316王剑桥 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC 1000029000 1.内核态:在高执行级别,代码可 ...

  9. 20135316王剑桥Linux内核学习笔记

    王剑桥Linux内核学习笔记 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 计算机是如何工作的 个人理 ...

随机推荐

  1. RabbitMQ如何保证发送端消息的可靠投递-发生镜像队列发生故障转移时

    上一篇最后提到了mandatory这个参数,对于设置mandatory参数个人感觉还是很重要的,尤其在RabbitMQ镜像队列发生故障转移时. 模拟个测试环境如下: 首先在集群队列中增加两个镜像队列的 ...

  2. [笔记] FMX 移动平台 TWebBrowser 问题

    FMX 移动平台下的 TWebBrowser 有一问题: 某些机子当 WebBrowser.Visible := False; 后,依然留在全屏,虽然看不见,但无法点击操作. 解决:用 WebBrow ...

  3. pyhon 列表的增删改查

    li = ['alex', 'wusir', 'egon', '女神', 'taibai'] l1 = li[2] print(l1) #增加 append() 增加到最后 insert(index, ...

  4. CTF-安恒18年十一月月赛部分writeup

    安恒十一月月赛writeup 昨天做了一下十一月的题目,不才只做出来几道 签到web1 这个是十月的原题,因为忘了截图所以只能提供思路 Web消息头包含了登陆框的密码 输入密码后进入上传页面,上传一句 ...

  5. SSM-CRUD入门项目——环境搭建

    一.项目概述 项目功能点: 1.分页 2.数据校验: jQuery前端校验+JSR303后端校验 3.ajax 4.RESTful风格的URI 技术点: 1.基础框架——SSM 2.数据库——MySQ ...

  6. OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建

    # OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-hom ...

  7. 使用终端命令行将本地项目上传到Github

    使用终端命令行将本地项目上传到Github 转自https://blog.csdn.net/fishball1/article/details/52020305 对于IOS开发者来说,Github的使 ...

  8. P4284 [SHOI2014]概率充电器

    P4284 [SHOI2014]概率充电器 今天上课讲到的题orz,第一次做这种上下搞两次dp的题. g[i]表示i的子树(包括i)不给i充电的概率. f[i]表示i的父亲不给i充电的概率. g[]可 ...

  9. jzoj5341 捕老鼠

    Description 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里的仓库灭灭鼠.于是,猫被农夫约派去捕老鼠. 猫虽然擅长捕老鼠,但是老鼠们太健美了,身手敏捷,于是猫想 ...

  10. mtr语言真是逆天了

    实践证明,设计一个语言,还不是简单的解释没一行哦