第三周学习报告

第二章 信息的处理和表示

2.1信息存储

1三种数字的表示

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

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

浮点数:编码是表示实数的科学记数法 的以二为基数的版本。

2.寻址和字节顺序

小端法和大端法

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

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

3逻辑运算和位运算

(1)逻辑运算符&& (与)||(或)!(非)

(2)位运算(按位布尔运算)所使用的符号&(AND)|(OR)~(NOT)^(EXCLUSIVE-OR)

掩码——用来选择性的屏蔽信号

掩码是一个位模式,表示从一个字中选出的位的集合。用位向量给集合编码,通过指定掩码来有选择的屏蔽或者不屏蔽一些信号,比如某一位位置上为1时,表明信号i是有效的;0表示该信号被屏蔽。

2.2整数表示

1.补码编码

补码的利用寄存器的长度是固定的特性简化数学运算。想想钟表,12-1 等价于 12 + 11,利用补码可以把数学运算统一成加法,只要一个加法器就可以实现所有的数学运算。

2.有符号数和无符号数的转换规则

无符号数:不存在正负之分,所有位都用来表示数的本身。 有符号数:最高位用来表示数的正负,最高位为1则表示负数,最高位为0则表示正数。 (1)无符号数转换为有符号数 看无符号数的最高位是否为1,如果不为1(即为0),则有符号数就直接等于无符号数;如果无符号数的最高位为1,则将无符号数取补码,得到的数就是有符号数。  (2)有符号数转换为无符号数  看有符号数的最高位是否为1,如果不为1(即为0),则无符号数就直接等于有符号数;如果有符号数的最高位为1,则将有符号数取补码,得到的数就是无符号数。

3.0扩展和符号扩展

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

(1)符号扩展:当用更多的内存存储某一个有符号数时,由于符号位位于该数的第一位,扩展之后,符号位仍然需要位于第一位,所以,当扩展一个负数的时候需要将扩展的高位全赋为1;对于正数而言,符号扩展和零扩展是一样的,因为符号位就是0。

比如一个用一个8位二进制表示-1,则是10000001

如果把这个书用16位二进制表示时,则为11111111 10000001 高位全都是1,这个叫做符号扩展,主要用于对其操作数。

(2)零扩展就是全补零。不论其符号位是多少,高8位全都补0.

能过上面的定义可以看出在C++中,如果把一个char向一个整形转换的时候,就会存在着这个问题

如果你想得到一个正数,那么如果一个字符的ASCII码值是小于零的,而直接用(int)c进行强制类型转换,结果是通过符号扩展得到的也为一个负数。要得到正数,一定要用(int)(unsigned char)c;因为unsigned char去除了c的符号位,所以,这样的类型转换后,再用(int)进行转换得到的就是一个正数。

(3)从上机的叙述得知,有符号数向其它类型数据转化(如char到int,char到unsigned int)时,进行符号位扩展;无符号数向其它类型转换(如unsigned char到int, long)时,进行零扩展。

char

short

符号位扩展

char

unsigned     char

最高位失去符号位意义,变为数据位

char

unsigned     short

符号位扩展到short;然后从short转到unsigned short

unsigned     char

char

最高位作为符号位

unsigned     char

short

0扩展

unsigned     char

float

转换到long; 再从 long 转换到float

 
 

(4)由大数据类型向小数据类型转换时,保留低位字节。


unsigned long


char


保留低位字节


unsigned long


short


保留低位字节

2.3整数运算

1.关于整数运算的最后思考

计算机执行的“整数”运算实际上是一种运算模式。表示数字的有限字长限制了可能的值的取值范围,运算结果可能溢出。C语言中的某些规定可能会产生令人意想不到的结果,而这些可能是难以察觉和理解的缺陷的源头。

2.4浮点数

浮点表示对形如V=x*2y的有理数进行编码近似地表示实数。当一个数字不能被准确表示时,必须向下或向上调整,由此产生了舍入(rounding)。IEEE浮点格式定义了四种不同的舍入方式,默认方法是找到最接近的匹配,而其他三种可用于计算上界和下界。

遇到的问题:对运算的公式记忆比较差,需要把公式列在一边边看边做,不能独立离开公式做题,

以前的知识记得不够劳,容易记混记错。需要时常回去记忆之前的知识。。。。。。。

抱歉老师国庆出去玩了,这个博客现在才交,望老师原谅

时间: 2024-10-12 14:43:11

第三周学习报告的相关文章

第三周学习报告与总结

总结:相对前两周而言这周的学习,这周学的更深奥,了解了Java的特性,也了解了几个关键词(this(this表示当前对象) static main方法)的利用.我虽然不懂但总会弄明白的,继续加油吧. 原文地址:https://www.cnblogs.com/duannaud/p/11523610.html

20145207《Java程序设计》第三周学习总结

20145207<Java程序设计>第三周学习总结 教材学习内容总结 这部分可能要扒一些课本而上的东西了.在第三章中,知道了Java可区分为基本类型和类类型两大类型系统,其中类类型也称为参考类型.在这一周主要学习了类类型. 对象(Object):存在的具体实体,具有明确的状态和行为 类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制. 简单来说,类是对象的设计图,对象是类的实例. 要深刻理解对象的含义,例如Clothes c1 = new Clot

20145301第三周学习总结

20145301第三周学习总结 教材学习内容总结 第四章 4.1 类与对象 对象(Object):存在的具体实体,具有明确的状态和行为 类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制 从类看对象:类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象 从对象看类:类的产生,是从少数实例,推广到大量相似实例的抽象化过程(abstraction) 类是对象的设计图,对象是类的实例,生成对象要先定义类 4.2 基本类型包装 Long.In

201671010117 2016-2017-2 《Java程序设计》Java第三周学习心得

Java第三周学习心得 通过这一周的学习,了解到了Java的核心部分,理解了用户自定义类的定义 ,了解了对象的声明 ,了解了使用构造函数初始化对象 ,使用类属性与方法的使用,了解了package和import语句的用途,知道了假设你面对现实世界的一个对象,你不会把它的属性和处理方法分开,程序设计也是一样.面向对象程序设计(OOP):一种新的思维方法,更接近人类处理现实世界问题的自然表示方法.面向对象的语言有:C++,Smalltalk,Java等.面向对象程序设计的几个主要概念:抽象数据类型.类

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

20145317<信息安全系统设计基础>第三周学习总结 教材学习内容总结 整型数据类型 32位机器和64位机器对于同一数据类型的典型取值范围是有所不同的 . 64位机器用8个字节表示:32位机器用4个字节表示 典型取值范围中,取值范围不对称——负数的范围比整数的范围大1 三种最重要的数字表示:①无符号:基于传统的二进制方法,表示大于等于0的数字②补码(有符号数):表示有符号数整数的最常见方法,有符号整数就是可以为正或者负的数字③浮点数:表示实数的科学计数法的以2为基数的版本 ·进制转换:用二进

LINUX内核分析第三周学习总结——构造一个简单的Linux系统MenuOS

LINUX内核分析第三周学习总结——构造一个简单的Linux系统MenuOS 黄韧(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 回顾: [计算机三个法宝] 1)存储程序计算机 2)函数调用堆栈 3)中断 [操作系统两把宝剑] 1)中断上下文的切换:保存现场和恢复现场 2)进程上下文的切换 一.使用gdb跟踪调试内核从start_kernel到init进程启动 使用实验楼的虚拟机打开

20145319 第三周学习总结

20145319 <Java程序设计>第三周学习总结 教材学习内容总结 本周学习教材第四.五章,这两章主要讲述了java语言中“对象”的相关知识,认识对象以及对象封装. 1. 类与对象 定义:对象是java语言中极为重要的一环,在使用java编写程序时基本离不开对象,而java中有基本类型和类类型两种类型系统,在使用对象前就需先定义类(Class),类是对象的设计图,对象是类的实例 使用事项: 1对象的一些使用和c语言中的指针极为相似,例如Clothes c1 = new Clothes();

20165315 第三周学习总结

20165315 第三周学习总结 本周学习中遇到的问题和解决过程 在编写书上第四章例子5的代码时,我发现无法直接使用javac -d bin src/Example4_5.java命令使该代码的字节码文件直接放入bin目录 解决方法: 经过询问老师和同学,得知问题出在无法一同编译另外两个源文件,输入如下图所示的代码即可编译并运行成功 在编写书上第四章例子17和例子18的代码时,无法通过编译,显示如下图错误: 解决方法: 经过多次尝试和细心检查后,我发现是在编写时大意,将setSides编写为se

20165235祁瑛 2018-3 《Java程序设计》第三周学习总结

20165235祁瑛 2018-3 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象学习总结 类:java作为面向对象型语言具有三个特性:①封装性.②继承性.③多态性.java中类是基本要素,类声明的变量叫对象.在类中定义体的函数题叫方法. 类与程序的基本结构:(一)构造方法:创建对象时用,构造方法与类同名,没有类型.可以创建构造方法,但要保证参数个数不同或参数类型不同.(二)为对象分配变量时要用new字符.用"."运算符来操作对象.(三)java有若干个类构