20135316王剑桥 linux第三周课实验笔记
通过使用标准的字符码能够对文档中的字母和符号进行编码。
三种重要的数字表现形式:
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第三周课实验笔记相关推荐
- 20135316王剑桥 linux第六周课实验笔记
6.存储器层次结构 6.1存储技术 1.如果你的程序需要的数据是存储在CPU寄存器中的,那么在执行期间,在零个周期内就能访问到它们.如果存储在高速缓冲中,需要1-10个周期.如果存储在主存中,需要50 ...
- linux实验报告ALU,20135316王剑桥 linux第五周课实验笔记
指令分类 具体指令 说明 传送指令(XXmovl) (4种) 指令 源 目的 irmovl 立即数 寄存器 rrmovl 寄存器 寄存器 mrmovl 存储器 寄存器 rmmovl 寄存器 存储器 Y ...
- 20135316王剑桥Linux内核学习笔记第三周
20135316王剑桥 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC 1000029000 三个法宝:存储程序计算机.函数调 ...
- Linux第三周作业
1.三个法宝 ①存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: ②函数调用堆栈,堆栈完成了计算机的基本功能:函数的参数传递机制和局部变量存取 : ③中断,多道程序操作系统的基点,没有中断机制 ...
- 大数据实时处理第三周课
1.双重循环 如果不加else的话 多加一个\t 2.公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡.母鸡.小鸡各多少只? 3.计算1+ 2 + 3 + - + 1 ...
- 初学Linux第三周
简单shell脚本: #!/bin/bash 第一行必须包括shell声明序列:#! # #************************************************* ...
- 第三周java实验报告
实验三 Java基本程序设计(2) 实验时间 2018-9-13 第一部分:理论知识回顾 第一章 再次了解了java"白皮书"的关键术语,java的常见术语,对于大多数&q ...
- Linux小白三天入门进阶笔记——DAY1
1.Linux特点 开源 多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能 服务器不使用图形化界面: 图形化占用资源 机房部署方便,无需配 ...
- 【计算机系统结构】第一周 课上笔记
课件下载:https://mcai.github.io/teaching/courses/computer_architecture/
最新文章
- Flash完美跨域访问的方法
- 用MXnet实战深度学习之二:Neural art
- 下载python步骤_下载及安装Python详细步骤
- bashrc, bash_profile etc;
- 【HDU 1276】士兵队列训练问题(两个队列模拟)
- 网站服务器被访问 io,服务器端被客户端访问完以后出现java.io.ioexception,socket问题。...
- 拓扑排序排课系统_视频结构化人脸布控系统
- 飞鸽传书有多少用户?
- 深度探索Win32可执行文件格式
- 静态成员内部类和非静态成员内部类的实例化方式
- 仿头条新闻app,实现下拉刷新,上拉加载分页
- php中如果想要打印出来的结果换行怎么操作_现在,就要对文件的批操作,动刀子啦!!!...
- 机器学习中的「相似度度量」方法及应用
- PYTHON INSTALL
- 投身管理工作(项目经理修炼手册正文的开头)
- 计算机图形学笔记------变换与光栅化的理论知识
- 苹果显示器(Apple Cinema Display)连接Windows的亮度调节方法(Win10可用)
- 英国essay与澳洲essay写作区别以及注意事项
- 电信路由器怎么设置虚拟服务器,电信路由器怎么设置 如何设置电信路由器
- AntV使用方法详解
热门文章
- 为Surface Neo和Surface Duo准备代码
- 给阿里云CentOS系统安装中文字体
- 国产世界最快的计算机,开机一分钟 地球人算32年——揭秘全国产世界最快超级计算机“神威·太湖之光”...
- 用Flash制作Scorm标准课件
- linux的库文件路径,Linux下的库文件搜索路径
- 谈谈电子商务系统中的规格设计,SKU的简单管理
- 阿里云服务器ECS实例规格是什么意思?
- Android 自定义相机Camera流程
- 私有镜像仓库Harbor仓库v1.8.1离线安装以及生产基本使用
- Complexity 汇总