信息的表示和处理

一、数字表示

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

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

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

 ***当结果太大不能表示时会溢出,大量安全漏洞都是由于算数运算引发的***

二、信息存储

1、最小的可寻址存储器单位:字节

2、虚拟存储器:每个字节都由唯一的数字标识,称为地址

3、虚拟地址空间:所有可能地址的集合

4、每个程序对象可视为字节块,程序本身是一个字节序列

***十六进制表示法

0x...

当x是2的非负整数二次幂时,将n写作i+4j的形式,j表示0的个数

i=0 :1      i=1 :2    i=2 :4     i=3 :8

进制转换代码

***

字长:指明整数和指针数据的标称大小

字长为w,虚拟地址范围:0~2的w次方-1,最多访问2的w次方个字节

大多数计算机字长为32位,实验楼为64位

gcc -m32 可以在64位机上生成32位的代码

***数据大小

见书p26图2-3

两种不同的浮点数格式:单精度 双精度

格式:4字节 8字节

***寻址和字节顺序

小端法:最低有效字节在最前面,高对高,低对低

大端法:最高有效字节在最前面,相反

反汇编器:确定可执行程序文件所表示的指令序列的工具

C 强制类型转换

sizeof 确定对象使用字节数

不同的操作系统有不同的分配规则,结果相同,指针值却完全不同

字节模式 整型 0x00003039  浮点数 0x4640E400

***表示字符串

字符串:以null字符结尾的字符数组

文本数据比二进制数据具有更强的平台独立性

库函数strlen不计算终止的空字符

***表示代码

二进制代码是不兼容的,很少能在不同操作系统间移植

2.1.7 布尔代数简介

与 或 非 异或

位向量:表示有限集合

***C语言中的位级运算

确定一个位级运算最好的方法:将十六进制的参数扩展成二进制表示并执行二进制运算,然后再转换回十六进制

常见用法:掩码运算

掩码:位模式,从一个字中选出的位的集合

***C语言中的逻辑运算

0 false 非0 true

如果对第一个参数求值就能确定表达式的结果,那么逻辑运算符就不会对第二个参数求值

***C语言中的移位运算

<<    >>

逻辑右移:左端补0

算数右移:左边补最高有效位

对于无符号数据,右移必须是逻辑的

三、整数表示

两种方式

***整型数据类型

可表示负数,零,和正数

取值范围中,负数的范围比整数大1

***无符号数的编码

重要属性:每个介于0~2的w次方-1之间的数都有唯一一个w位的值编码(双射函数)

***补码编码

最常见的有符号数的计算机表示方式就是补码形式

将字的最高有效位解释为负权

最高有效位:符号位

权重-2的位数次方,是无符号表示中权重的负数

最小值[10...0] 最大值[01...1]

UMax TMin TMax

P42页表

|TMin|=|TMax|+1

UMax=2TMax+1

***有符号数和无符号数之间的转换

数值可能会改变,但是位模式不变

这一段没太看懂

***C语言中的有符号数与无符号数

大多数数字都默认为有符号的

要创建一个无符号常量,要加上后缀U或u

转换的原则是底层的位保持不变

如果一个运算一个有符号一个没符号,会将有符号强制转换为无符号

***扩展一个数字的位表示

在不同字长的整数之间转换,同时又保持数值不变

无符号数:开头添0(零扩展)

补码:添加最高有效位值得副本(符号扩展)

***截断数字

减少一个数字的位数

截断一个数字会改变值(溢出)

四、整数运算

***无符号加法

可以被视作一种模运算形式

溢出:完整的整数结果不能放到数据类型的字长限制中去

2.3.2 补码加法

2.3.3 补码的非

2.3.4 无符号乘法

2.3.5 补码乘法

2.3.6 乘以常数

2.3.7 除以2的幂

五、 浮点数

对形如V=x*2的y次方的有理数进行编码

***二进制小数

重点掌握表示方法,p69表

***IEEE浮点表示

标准:V=(-1)的s次方*M*2的E次方

符号:s决定正(0)负(1)

尾数:M是二进制小数

阶码:E的作用是对浮点数加权

情况1:规格化的值:当exp的位模式既不全是0,也不全是1

情况2:非规格化的值:阶码域全0

情况3:特殊值:阶码全1

***舍入

找到最接近的匹配值

四种舍入方式

默认方法找到做接近的匹配,其他三种用于计算上界和下界

向偶数舍入(默认):向上舍入,向下舍入

***浮点运算

不具有结合性

满足了单调性

只有有限的范围和精度

***C语言中的浮点数

float double

感想:这部分讲的基本和以前学过的知识能相结合,所以不是很难理解,学的较为轻松,就是补码转有符号数还是不是非常熟练,需要多练习。

转载于:https://www.cnblogs.com/yg137565645/p/4861267.html

5233杨光--第三周实验报告相关推荐

  1. 20162329 张旭升 实验三:实验报告

    实验三:实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 张旭升 学号:20162329 指导教师:娄嘉鹏 王志强 实验日期:5月12日 实验密级: 非密级 预习程度: 已预习 必修/选修 ...

  2. c语言程序设计编程解读,C语言程序设计第三次实验报告解读

    <C语言程序设计第三次实验报告解读>由会员分享,可在线阅读,更多相关<C语言程序设计第三次实验报告解读(15页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计实验报告专业 ...

  3. 20135302魏静静——linux课程第三周实验及总结

    linux课程第三周实验及总结 一.实验:跟踪分析Linux内核的启动过程 使用gdb跟踪调试内核从start_kernel到init进程启动 使用实验楼的虚拟机打开shell cd LinuxKer ...

  4. 第三次实验报告MapReduce

    第三次实验报告MapReduce(编程调试wordcount程序 生成jar包在虚拟机上运行) 实验目的: MapReduce原理及操作 1.MapReduce原理 Ma和 Reduce,当向 Map ...

  5. 计算机网络技术实验报告三,计算机网络第三次实验报告

    计算机网络第三次实验报告 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计算机网络第三次实验报告实验一:网络常用命令的使用一. 实验目 ...

  6. 计算机图形学二维图形基本变换实验原理,江苏大学-计算机图形学第三次实验报告-二维图形变换...

    <江苏大学-计算机图形学第三次实验报告-二维图形变换>由会员分享,可在线阅读,更多相关<江苏大学-计算机图形学第三次实验报告-二维图形变换(13页珍藏版)>请在人人文库网上搜索 ...

  7. c语言数据结构二叉树实验报告,数据结构实验三二叉树实验报告.doc

    数据结构实验三二叉树实验报告 数据结构实验报告 实验名称: 实验三--二叉树 学生姓名: XX 班 级: 班内序号: 学 号: 日 期: 1.实验要求 1.1实验目的 通过选择下面两个题目之一进行实现 ...

  8. 西安交通大学计算机组成原理第三章,西安交通大学计算机组成原理专题实验(上)第三次实验报告.pdf...

    计算机组成原理专题实验报告(三) 学生姓名 专业/班级 计算机11 班 学 号 所在学院 电信学院 指导教师 姜欣宁 提交日期 2013 年12 月19 日 计算机组成原理专题实验(三) --运算器模 ...

  9. 计算机组成原理um实验总结,计算机组成原理第三次实验报告.doc

    机器号___________________ 计算机组成原理 实验报告 专业班级: 姓 名: 机器号: 学 号: E-mail: 指导教师: 总成绩: 分步成绩: 出勤: 实验表现 实验报告: 实验五 ...

最新文章

  1. 手撕FSG2.0壳(有坑点)
  2. Sentinel 连接数据源
  3. Java多线程学习十三:synchronized 和 Lock 区别以及孰优孰劣,如何选择?
  4. 普通文档怎么换成php,腾讯在线文档如何转化为普通文档
  5. 对不起,云计算又走错路了
  6. 机器学习系列(一), 监督学习和无监督学习
  7. 【微信小程序】二维数组列表渲染
  8. 福州大学866信号与系统初试经验分享
  9. android怎么美化ui,安卓教程第一期最终篇(转)systemui.apk最全修改美化
  10. 【k8s】7、pod控制器详解
  11. Windows系统自带的DOS窗口
  12. 大数据分析了50万条拼多多商品数据, 得出了这样的结论
  13. can only concatenate str (not “NoneType“) to str
  14. 现场直击|ChinaJoy2018,最大惊喜竟然不是游戏
  15. 对抗生成网络GAN系列——GANomaly原理及源码解析
  16. 华为大数据的创新之路
  17. 【区块链】区块链学习
  18. 自动化测试和性能测试哪个有前途?
  19. 【转】终于搞明白什么叫双卡双待双模双通手机
  20. 侯捷C++课程笔记03: STL标准库与泛型编程

热门文章

  1. 开发直播APP选择云服务器的优点
  2. Rooibos的毒性
  3. 海外高校毕业证的颜色
  4. go语言的书籍的淘宝调查
  5. 美的摇头风扇FW40-8A摇头拉线断了修复方案
  6. error: 'syms' undefined near line 1 column 1
  7. Ubuntu Linux 18.10下面安装魔法门之英雄无敌3
  8. leetcode : 基础技巧
  9. 机器学习 数据增加_【机器学习】数据降维概述
  10. 代码内容变成图片_网站只剩25行代码,真有程序员“删库跑路”?