• 2023年5月数字产品检测与维护赛项规程(师生同赛)(国赛)2023年5月数字产品检测与维护赛项规程(师生同赛)(国赛)
  • fat32文件系统手工提取文件fat32文件系统手工提取文件
  • 数据丢了怎么办!!!数据丢了怎么办!!!

今日发布0 篇文章 | 本站共发布了99篇文章
  • 逻辑与运算

    逻辑“与”运算又称为逻辑乘运算,通常用符号“×”或“∧”或“·”来表示。 “与”逻辑是指当所有输入都同时满足条件(例如,都为1)时,输出才有效(例如,为1);否则输出无效(为0)。 也就是说,只有当参与运算的逻辑变量都同时取值为1时,其逻辑乘积才等于1。其运算规则如下: 例如,x=10111001、y=11110011,求x∧y。 运算如下: ...

    2023-08-26 数据恢复 518
  • 逻辑或运算

    逻辑“或”运算也称为逻辑加运算,运算符有“+”、“∨”、“OR”等几种。 “或”逻辑是指当输入变量中有一个满足条件(例如,为1有效)时,输出就有效(例如,为1)。只有当所有输入变量均不满足条件(例如,为0)时,输出才无效(为0)。 也就是说,在给定的逻辑变量中,只要有一个为1,其逻辑加的结果为1;逻辑变量都为0则逻辑加为0。其运算规则如下: 0+0=0,0∨0=0 0+1=1,0∨1=1 1+0=1,1∨0=1 1+1=1,1∨1=1 例如,x=10100001、y=10011011,求x∨y。运算如下: 即 x∨y=10111011...

    2023-08-26 数据恢复 541
  • 数据的逻辑运算

    逻辑运算又称布尔运算,布尔是英国的数学家,在1847年发明了处理二值之间关系的逻辑数学计算法,他用等式表示判断,把推理看作等式的变换。这种变换的有效性不依赖人们对符号的解释,只依赖于符号的组合规律。20世纪30年代,逻辑代数在电路系统上获得应用,随后,由于电子技术与计算机的发展,出现各种复杂的大系统,它们的变换规律也遵守布尔所揭示的规律。 逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“真”还是“假”,判断的结果是二值的,即没有“可能是”或者“可能不是”。这个“可能”的用法是一个模糊概念,在计算机里面进行的是二进制运算,逻辑判断的结果只有两个值,称这两个值为“逻辑值”,用数的符号来表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“真”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容为“假”。 计算机的逻辑运算与算术运算的主要区别:逻辑运算是按位进行的,位与位之间不像加减运算那样有进位或借位的联系。 逻辑运算主要包括三种基本运算:逻辑加法(又称“或”运算)、逻辑乘法(又称“与”运算)和逻辑否定(又称“非”运算)。此外,还有一种“异或”运算也很有用,在RAID中就大量使用这种运算作为校验算法。...

    2023-08-26 数据恢复 545
  • MBR系统主引导记录的结构和作用详解

    MBR磁盘分区都有一个引导扇区,称为主引导记录,英文简称为MBR。 MBR的结构 MBR扇区位于整个硬盘的第一个扇区:按照C/H/S地址描述,即0柱面0磁头1扇区;按照LBA地址描述即0扇区。它是一个特殊而重要的扇区。 在总共512字节的MBR扇区中,由四部分结构组成: 1)引导程序:引导程序占用其中的前440字节,其地址在偏移0~偏移1B7H处。 2)Windows磁盘签名:Windows磁盘标签占用引导程序后的4字节,其地址在偏移1B8H~偏移1BBH处,是Windows系统对硬盘初始化时写入的一个磁盘标签。 3)分区表:偏移1BEH~偏移1FDH的64字节为DPT(Disk Partition Table,硬盘分区表),这是MBR中非常重要的一个结构。 4)结束标志:扇区最后的两个字节“55 AA”(偏移1FEH~偏移1FFH)是MBR的结束标志。 用WinHex查看一块硬盘的MBR扇区,其结构如图4-1所示。 图4-1 MBR的结构 MBR的作用 MBR扇区在计算机引导过程中起着举足轻重的作用。计算机在按下电源键以后,开始执行主板的BIOS程序,进行完一系列检测和配置以后,开始按CMOS中设定的系统引导顺序进行引导。 主板BIOS执行完自己的程序后如何把执行权交给硬盘呢?交给硬盘后又执行存储在哪里的程序呢?让我们通过了解MBR的作用来解开这些疑问吧。 引导程序的作用 计算机主板的BIOS程序在自检通过后,会将MBR扇区整个读入内存中,然后将执行权交给内存中MBR扇区的引导程序。引导程序首先会将自己整个搬到一个较为安全的地址中,目的是防止自己被随后读入的其他程序覆盖,因为引导程序一旦被破坏,就会引起计算机死机,从而无法正常引导系统。 系统下一步就会判断读入内存的MBR扇区的最后两个字节是否为“55 AA”,如果不是则报错,在屏幕上会列出错误信息。如果是“55 AA”,接下来引导程序会到分区表中查找是否有活动分区,若有活动分区,则判断活动分区的引导扇区在磁盘中的地址,并将该引导扇区读入内存及判断其合法性,如果是一个合法的引导扇区,随后的引导权就交给这个引导扇区去引导操作系统了,MBR引导程序的使命也就完成了。 Windows磁盘签名的作用 Windows磁盘签名是Windows系统在对硬盘做初始化时写入的一个标签,它是MBR扇区不可或缺的一个组成部分。Windows系统依靠这个签名来识别硬盘,如果硬盘的签名丢失,Windows系统就会认为该硬盘没有初始化。 注意 一块硬盘如果不是系统引导盘,MBR扇区中可以没有引导程序,但是绝对不能没有磁盘签名。 下面就来看看如果硬盘的磁盘签名丢失后的结果。 以图4-2中的“磁盘1”为例来做这个实验。“磁盘1”目前分一个区,状态良好,如图4-2所示。 图4-2 磁盘1 “磁盘1”的MBR扇区及其磁盘签名如图4-3所示。 图4-3 “磁盘1”的MBR扇区及其磁盘签名 当硬盘挂载到Windows操作系统以后,操作系统会读取该硬盘的MBR扇区及其磁盘签名,并将磁盘签名信息记录在注册表中。在这种情况下,如果把这块硬盘的磁盘签名清除,重新启动操作系统,或者把该硬盘卸载后再重新挂载,系统会自动修复该硬盘的磁盘签名。 现在把该硬盘的磁盘签名清除,清除后结果如图4-4所示。 图4-4 硬盘的磁盘签名被清除 现在重新启动计算机,再一次用WinHex打开这块硬盘,发现被清除的磁盘签名又出现了,只是签名信息的最低位字节稍有改变,高位的三个字节与原来还是一致的,如图4-5所示。 图4-5 系统重新写入磁盘签名 从这个例子中可以看出,磁盘签名是不可缺少的,不过有时系统不一定能够自动写入磁盘签名,这种情况硬盘就会提示“没有初始化”。 当我们把图4-2的硬盘MBR中磁盘签名再一次清除,并把它挂载到另外一台计算机上,结果这台计算机的系统没有给该硬盘写入磁盘签名,这块硬盘在系统的磁盘管理中就显示为“没有初始化”,但是分区还是正常的,因为分区表并没有清除,如图4-6所示。 图4-6 硬盘“没有初始化” 分区表的作用 分区表是用来管理硬盘的分区的,如果分区表被清除或者破坏,则硬盘的分区就会丢失。 现在依然以上面那块硬盘为例,把MBR中的分区表清除,其他结构不动,如图4-7所示。 图4-7 清除MBR中的分区表 重新启动计算机后进入磁盘管理,可以看到分区已经没有了,硬盘成为“未指派”,如图4-8所示。 图4-8 分区丢失了 对于分区表是如何管理硬盘分区的,这部分内容将在4.1.2节详细分析。 结束标志的作用 在执行MBR的引导程序时,会验证MBR扇区最后两个字节是否为“55 AA”。如果是“55 AA”才会继续执行下面的程序,如果不是“55 AA”,则程序认为这是一个非法的MBR,那么程序停止执行,同时会在屏幕上列出错误信息。 如果一块MBR结构完好并且有分区的硬盘,其结束标志“55 AA”被破坏后,该硬盘的分区也将无法读取,硬盘会成为“没有初始化”状态。 图4-9所示的硬盘,其分区结构完好。 图4-9 分区结构完好的硬盘 用WinHex将其打开,并且清除结束标志“55 AA”,如图4-10所示。 图4-10 清除MBR的结束标志 重新启动计算机后打开磁盘管理,发现该硬盘的分区已经丢失,并且状态为“没有初始化”,如图4-11所示。 图4-11 硬盘的分区已经丢失 这种情况其实只要通过WinHex打开该硬盘,将MBR的最后两个字节写入“55 AA”,重启计算机后分区和数据都能够重新出现,但千万不能对硬盘做“初始化”,否则分区表将会被清除,下面实际演示一下: 第1步 对“磁盘1”单击鼠标右键,选择“初始化磁盘”命令,如图4-12所示。 图4-12 选择“初始化磁盘”命令 之后出现磁盘选择对话框,如图4-13所示。 图4-13 磁盘选择对话框 第2步 在“磁盘1”前打钩,然后单击“确定”按钮,磁盘1将被初始化,完成后硬盘将“联机”,如图4-14所示。 图4-14 磁盘1初始化完成 做完初始化后硬盘原来的分区并没有回来,硬盘还是“未指派”的。打开WinHex查看MBR,发现分区表信息已经被清除,如图4-15所示。 图4-15 分区表信息已经被清除 这个时候就只能通过重建分区表才能找回数据了。...

    2023-08-26 数据恢复 513
  • GPT引导磁盘分区的结构原理

    GPT磁盘由6部分结构组成,如图下图所示。 保护MBR 保护MBR位于GPT磁盘的第一个扇区,也就是0号扇区,由磁盘签名、MBR磁盘分区表和结束标志组成,如下图所示。   在保护MBR扇区中没有引导程序,分区表内只有一个表项,这个表项描述一个类型为0xEE的分区,分区起始地址是1号扇区,大小为四个字节所能存储的最大值(FF FF FF FF)。该分区的存在可以使计算机认为这个磁盘是合法的,并且已被使用,从而不再去试图对其进行分区、格式化等操作,而EFI根本不使用这个分区表。 GPT头 GPT头位于GPT磁盘的第二个扇区,也就是1号扇区,该扇区是在创建GPT磁盘时生成的,GPT头会定义分区表的起始位置、分区表的结束位置、每个分区表项的大小、分区表项的个数及分区表的校验和等信息。   GPT头中各个参数的含义见下表 GPT头中各个参数的含义 再用模板的形式看一下GPT头的结构参数,如下图所示。 对这些参数具体分析如下。 ①00H~07H。长度为8字节,是GPT头的签名,十六进制为“45 46 49 20 50 41 52 54”,ASCII码为“EFI PART”。 ②08H~0BH。长度为4字节,表示版本号。 ③0CH~0FH。长度为4字节,是GPT头的总字节数,当前值为92,说明GPT头占用92字节。 ④10H~13H。长度为4字节,是GPT头的CRC校验和。 ⑤14H~17H。长度为4字节,保留不用。 ⑥18H~1FH。长度为8字节,表示GPT头所在扇区号,通常为1号扇区,也就是GPT磁盘的第二个扇区。 ⑦20H~27H。长度为8字节,是GPT头备份的所在扇区号,也就是GPT磁盘的最后一个扇区,当前值为2 503 871。 ⑧28H~2FH。长度为8字节,是GPT分区区域的起始扇区号,当前值为34,GPT分区区域通常都是起始于GPT磁盘的34号扇区。 ⑨30H~37H。长度为8字节,是GPT分区区域的结束扇区号,当前值为2 503 838。 ⑩38H~47H。长度为16字节,是GPT磁盘的GUID。 ⑪ 48H~4FH。长度为8字节,表示GPT分区表的起始扇区号,当前值为2,GPT分区表通常都是起始于GPT磁盘的2号扇区。 ⑫50H~53H。长度为4字节,表示分区表项的个数。Windows系统限定GPT分区个数为128,每个分区占用一个分区表项,所以该值为128。 ⑬54H~57H。长度为4字节,每个分区表项占用字节数,该值固定为128。 ⑭58H~5BH。长度为4字节,是分区表的CRC校验和。 ⑮5CH~1FFH。长度为420字节,保留不用。 分区表 分区表位于GPT磁盘的2~33号扇区,一共占用32个扇区,能够容纳128个分区表项,每个分区表项大小为128字节。因为每个分区表项管理一个分区,所以Windows系统允许GPT磁盘创建128个分区。 每个分区表项中记录着分区的起始和结束地址、分区类型的GUID、分区名字、分区属性和分区GUID,下图是一个GPT磁盘2号扇区的四个分区表项。 分区表项中各参数的含义见下表 分区表项中各个参数的含义 再用模板的形式看一下分区表项的结构参数,如下图所示。 分区表项的模板 对这些参数具体分析如下。 ①00H~0FH。长度为16字节,用来描述分区类型,其类型可以是前面提到过的EFI系统分区(ESP)、微软保留分区(MSR)、LDM元数据分区、LDM数据分区、OEM分区、主分区。 微软公司为GPT分区定义的类型见下表。 分区类型 GUID 微软保留分区(MSR) 16 E3 C9 E3 5C 0B B8 4D 81 7D F9 2D F0 02 15 AE LDM元数据分区 AA C8 08 58 8F 7E E0 42 85 D2 E1 E9 04 34 CF B3 LDM数据分区 A0 60 9B AF 31 14 62 4F BC 68 33 11 71 4A 69 AD 主分区 A2 A0 D0 EB E5 B9 33 44 87 C0 68 B6 B7 26 99 C7 Intel公司为GPT分区定义的类型见下表。 分区类型 GUID 未分配 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 EFI系统分区 C1 2A 73 28 F8 1F 11 D2 BA 4B 00 A0 C9 3E C9 3B 含DOS分区表的分区 02 4D EE 41 33 E7 11 d3 9D 69 00 08 C7 81 F3 9F ②10H~1FH。长度为16字节,是分区表的GUID,这个GUID对于分区来讲是唯一的。 ③20H~27H。长度为8字节,是分区的起始地址,用LBA地址表示,在分区表项1中该值为34,说明第一个分区开始于GPT磁盘的34号扇区。 ④28H~2FH。长度为8字节,是分区的结束地址,用LBA地址表示,在分区表项1中该值为65 569,说明第一个分区结束于GPT磁盘的65 569号扇区。 ⑤30H~37H。长度为8字节,是分区的属性。 ⑥38H~7FH。长度为72字节,是分区的名称,用Unicode码表示。例如,在第一个分区表项中分区名为“Microsoft reserved partition”,说明这是一个微软保留分区;第二个分区表项中分区名为“Basic data partition”,说明这是一个基本数据分区,也就是主分区。 分区区域 GPT分区区域通常都是起始于GPT磁盘的34号扇区,是整个GPT磁盘中最大的区域,由多个具体分区组成,如EFI系统分区(ESP)、微软保留分区(MSR)、LDM元数据分区、LDM数据分区、OEM分区、主分区等。分区区域的起始地址和结束地址由GPT头定义。 GPT头备份 GPT头有一个备份,放在GPT磁盘的最后一个扇区,但这个GPT头备份并不是GPT头的简单复制,它们的结构虽然一样,但其中的参数却有一些区别。 下图所示是一块GPT磁盘的最后一个扇区,也就是其GPT头的备份。 GPT头备份中各个参数的含义如下图所示。 对这些参数具体分析如下。 ①00H~07H。长度为8字节,是GPT头的签名,十六进制为“45 46 49 20 50 41 52 54”,ASCII码为“EFI PART”。 ②08H~0BH。长度为4字节,表示版本号。 ③0CH~0FH。长度为4字节,是GPT头备份的总字节数。当前值为92,说明GPT头备份占用92字节。 ④10H~13H。长度为4字节,是GPT头备份的CRC校验和。 ⑤14H~17H。长度为4字节,保留不用。 ⑥18H~1FH。长度为8字节,表示GPT头备份所在扇区号,当前值为2 503 871号扇区,也就是GPT磁盘的最后一个扇区。 ⑦20H~27H。长度为8字节,是GPT头的所在扇区号,当前值为1号扇区,也就是GPT磁盘的第二个扇区。 ⑧28H~2FH。长度为8字节,是GPT分区区域的起始扇区号,当前值为34,GPT分区区域通常都是起始于GPT磁盘的34号扇区。 ⑨30H~37H。长度为8字节,是GPT分区区域的结束扇区号,当前值为2 503 838。 ⑩38H~47H。长度为16字节,是GPT磁盘的GUID。 ⑪ 48H~4FH。长度为8字节,表示GPT分区表备份的起始扇区号,当前值为2 503 839,这也是分区区域结束地址的下一个扇区,GPT分区表备份通常都是起始于GPT磁盘分区区域结束地址的下一个扇区。 ⑫50H~53H。长度为4字节,表示分区表项的个数。Windows系统限定GPT分区个数为128,每个分区占用一个分区表项,所以该值为128。 ⑬54H~57H。长度为4字节,每个分区表项占用字节数,该值固定为128。 ⑭58H~5BH。长度为4字节,是分区表的CRC校验和。 ⑮5CH~1FFH。长度为420字节,保留不用。 分区表备份 分区区域结束后,紧跟着就是分区表的备份,其地址在GPT头备份扇区中有描述。 分区表备份是对分区表32个扇区的完整备份。如果分区表被破坏,系统会自动读取分区表备份,也就能够保证正常地识别分区。 在图4-207中“GPT分区表备份起始扇区号”参数的值就是分区表备份所在的扇区号了。当前值为2 503 839,跳转到该扇区,看到的内容与GPT磁盘的2号扇区中分区表完全一样,其如下图所示。 其模板如下图所示。 ...

    2023-08-26 数据恢复 680
  • 计算机中数据的含义(进制转换)

    数据(Data)是表示客观事物的、可以被记录的、能够被识别的各种符号,包括字符、符号、表格、声音和图形、图像等。简言之,一切可以被计算机加工、处理的对象都可以被称为数据。数据可在物理介质上记录或传输,并通过外围设备被计算机接收,经过处理而得到结果。 进位计数制 在日常生活中,人们习惯于用十进制计数。但是,在实际应用中,还使用其他的计数制,如二进制、十二进制、二十四进制、六十进制等。用数字符号排列,由低位向高位进位计数的方法叫作进位计数制,简称进位制。进位计数制的特点是由一组规定的数字来表示任意的数。例如,一个二进制数只能用0和1来表示,一个十进制数只能用0、1、2、…、9来表示,一个十六进制数用0、1、2、…、9和A~F十六个数字符号来表示。 数据无论使用哪种进位制,都涉及两个基本要素:“基数”与各数位的“位权”。 一种计数制允许选用基本数字符号(数码)的个数叫基数。在基数为J的计数制中,包含J个不同的数字符号,每个数位计满J就向高位进1,即“逢J进一”。例如最常用的十进制中,每一位上允许选用0、1、2、…、9共10个不同数码中的一个,则十进制的基数为10,每位计满10时向高位进一。 一个数字符号处在不同位时,它所代表的数值是不同的。每个数字符号所表示的数值等于该数字符号值乘以一个与数码所在位有关的常数,这个常数叫作“位权”,简称“权”。位权的大小是以基数为底,数码所在位置的序号为指数的整数次幂。例如,十进制数的百分位、十分位、个位、十位、百位、千位的权依次是10−2、10−1、100、101、102、103。整数部分的个位位置的序号是0。 J进制数每位的值等于该位的权与该位数码的乘积。一个J进制可以写成按权展开的多项式和的形式,一个J进制数(S)J按权展开的多项式和的一般表达式为: 式中,n是J进制数整数部分的位数;m是J进制数小数部分的位数;ki是第i位上的数码,也称系数;Ji是第i位上的权。在整数部分,i是正数;在小数部分,i应是负数。 可以看出,J进制数相邻两个数的权相差J倍,如果小数点向左移一位,数缩小J倍;反之,小数点右移一位,数扩大J倍。 二进制 计算机是由电子元器件组成的。考虑到经济、可靠、容易实现、运算简便、节省元器件等因素,在计算机中的数都用二进制表示而不用十进制表示。 二进制有如下优点: 技术容易实现 二进制计数只需要两个数字符号0和1。在电路中可以用两种不同的状态——低电平(0)和高电平(1)来表示,其运算电路的实现比较简单,并且数据的存储和传送也可用简单而可靠的方式进行;而要制造有10种稳定状态的电子器件分别代表十进制中的10个数字符号是十分困难的。 二进制运算规则简单 十进制两个一位数的“和”与“积”的结果各有55种,而二进制两个一位数的“和”与“积”分别只有3种结果。所以二进制数在编码、计数和算术运算方面规则简单,容易用开关电路实现,为提高计算机的运算速度和降低实现成本奠定了基础。 逻辑运算方便 由于二进制数码的两个基本符号“0”和“1”,能方便地与逻辑命题的“否”和“是”,或称“假”和“真”相对应,为计算机中的逻辑运算和程序中的逻辑判断提供了便利条件。 二进制的基数为2,只有“0”和“1”两个数码,计数逢二进一。第i位上的位权是2的i次幂。一个二进制数展开成多项式和的表达式是: 例如: 八进制数与十六进制数 在计算机内部,一切信息的存储、处理与传送均采用二进制的形式。但由于二进制数写起来很长,且很难记,为方便起见,人们编写程序或书写指令时,通常采用八进制数或十六进制数。 八进制数基数为8,有0、1、2、3、4、5、6、7,共8个数码,逢八进一,第i位上的位权是8的i次幂。一个八进制数展开成多项式和的表达式是: 十六进制数基数为16,有0、1、2、3、4、5、6、7、8、9及大写英文字母A、B、C、D、E、F(数码A~F对应十进制数分别是10~15)共16个数码,逢十六进一,第i位上的位权是16的i次幂。一个十六进制数展开成多项式和的表达式是: 十六进制和八进制与二进制之间有着非常简单的对应关系,表1-1给出了四种常用计数制的对照表。 表1-1 四种常用计数制的对照表 进位计数制的相互转换 为了清晰方便起见,常在数字后面加字母B(Binary)表示二进制数;加O(Octal)表示八进制数,为避免把字母O误认为数字0,本书暂时改用Q字母;加H(Hexadecimal)表示十六进制数,加D(Decimal)或不加字母表示十进制数。 二进制转换成十进制 将二进制转换成十进制,只需把二进制数写成按权展开多项式和的形式,再计算此表达式的和即可。 例如, 十进制整数转换成二进制整数 将十进制整数转换成二进制整数采用“除2取余法”。即将十进制整数除以2,得到一个商和一个余数;再将商除以2,又得到一个商和一个余数;以此类推,直到商等于零为止。 每次得到的余数的倒排列,就是对应二进制数的各位数。 例如,将十进制数153转换成二进制数: 即  十进制小数转换成二进制小数 十进制小数转换成二进制小数是用“乘2取整法”。即用2逐次去乘十进制小数,将每次得到的积的整数部分按各自出现的先后顺序依次排列,就得到相对应的二进制小数。 例如,把十进制小数0.7875转换成二进制数: 即  如果一个十进制数既有整数部分又有小数部分,可将整数部分和小数部分分别进行J进制的等值转换,然后合并就可得到结果。 八进制转换为二进制 将八进制数转换成二进制数,每位八进制数用3位二进制数表示即可。 例如,八进制数617.34Q转换成二进制数: 即617.34Q=110001111.011100B。 (5)二进制转换为八进制 二进制数转换成八进制数,是将二进制数的整数部分从右向左每3位一组,每一组为一位八进制整数。 二进制小数转换成八进制小数是将小数部分从左至右每3位一组,每一组是一位八进制的小数。若整数和小数部分的最后一组不足3位时,则用0补足3位。 例如,把二进制数11010110110.1001转换成八进制数: 即 11010110110.1001B=3266.44Q。 十六进制转换为二进制 由于24=16,所以每一位十六进制数要用4位二进制数来表示,也就是将每一位十六进制数表示成4位二进制数。 例如,将十六进制数3A65.B2H转换成二进制数: 即3A65.B2H=11101001100101.1011001B。 二进制转换为十六进制 将二进制数转换成十六进制数是将二进制数的整数部分从右向左每4位一组,每一组为一位十六进制整数;而二进制小数转换成十六进制小数是将二进制小数部分从左向右每4位一组,每一组为一位十六进制小数。最后一组不足4位时,应在后面用0补足4位。 例如,二进制数1010101011.0110B转换成十六进制数: 即(1010101011.0110)2=(2AB.6)16,或写为1010101011.0110B=2AB.6H。...

    2023-08-25 数据恢复 517
  • 数值数据在计算机中的表示方法

    数据的单位 计算机中数据的常用单位有位、字节和字。 位(Bit) 计算机中最小的数据单位是二进制的一个数位,简称为位(英文名称为Bit,读音为比特)。计算机中最直接、最基本的操作就是对二进制位的操作。 字节(Byte) 字节这个词是在1956年左右由IBM公司最早提出来的。这个词起源于Bite,但用y代替了i,以避免被人误认为它是Bit,也就成了现在的Byte。曾经有一段时期,字节仅仅简单地表示特定数据路径上数据的位数。但是到了20世纪60年代中期,随着IBM的360系统的发展,字节这个词专门用来表示8位二进制数。 作为一个8位二进制数,一个字节可以从00000000取值到11111111。这些数可以代表0~255的正数,也可以表示−128~127范围之内的正、负数。总之,一个特定的字节可以代表28(即256种)不同事物中的一个。 字节简写为B,它是计算机中用来表示存储空间大小的基本容量单位。 与字节有关的常用换算单位如下: 1B=8bit;1KB=1024B=210B;1MB=1024KB=210KB=220B;1GB=1024MB=210MB=230B;1TB=1024GB=210GB=240B;1PB=1024TB=210TB=250B;1EB=1024PB=210PB=260B。 位与字节区别:位是计算机中的最小数据单位,字节是计算机中的基本信息单位。 字(Word) 在计算机中作为一个整体被存取、传送、处理的二进制数字符串叫作一个“字”或“单元”。每个字中二进制位数的长度,称为字长。 一个字由若干个字节组成,不同的计算机系统的字长是不同的,常见的有8位、16位、32位、64位等。字长越长,计算机一次处理的信息位就越多,精度就越高。字长是计算机性能的一个重要指标。目前大部分计算机都是32位的。 在汇编语言程序中,字为16位二进制数,即1Word=2Byte=16bit;把32位二进制数,即两个字称为双字(Double Word)。 定点数表示方法 在选择计算机数值的表示方式时,需要考虑以下几个因素:①要表示的数的类型(小数、整数、实数和复数);②可能遇到的数值范围;③数值精确度;④数据存储和处理所需要的硬件代价。 计算机处理的数值数据多数带有小数。小数点在计算机中通常有两种表示方法:一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数;另一种是小数点位置可以浮动,称为浮点表示法,简称浮点数。 所谓定点数,就是约定计算机中所有数据的小数点位置是固定不变的。在计算机中通常采用两种简单的约定:将小数点的位置固定在数据的最高位之前,或者是固定在最低位之后。一般常称前者为定点小数,后者为定点整数。 定点小数 定点小数约定的小数点位置在符号位之后、有效数值部分最高位之前,即一个数的最高二进制位是符号位,用来表示数的符号,而小数点的位置默认为在符号位后面,不单独占一个二进制位。 例如,数据x的形式为x=x0.x1x2…xn(其中,x0为符号位,x1~xn是数值的有效部分,也称为尾数,x1为最高有效位),则x在计算机中的表示形式为: 所以,在一个定点小数中,符号位右边的所有二进制位数表示的是一个纯小数。 定点整数 定点整数约定小数点位置在有效数值部分最低位之后,即一个数的最高二进制位是符号位,用以表示数的符号;而小数点的位置默认为在最低(即最右边)的二进制位的后面,但小数点不单独占一个二进制位。 例如数据x的形式为x=x0x1x2…xn(其中,x0为符号位,x1~xn是尾数,xn为最低有效位),则x在计算机中的表示形式为: 所以,在一个定点整数中,符号位右边的所有二进制位数表示的是一个纯整数。 浮点数表示方法 在计算机中,定点数通常只用于表示纯整数或纯小数,而对于既有整数部分又有小数部分的数,由于其小数点的位置不固定,一般用浮点数表示。 计算机中所说的浮点数就是指小数点位置不固定的数。一般地,一个既有整数部分又有小数部分的十进制数D可以表示成如下形式: D = R×10N 式中,R为一个纯小数;N为一个整数。 例如,一个十进制数123.456可以表示成0.123456×103,十进制小数0.00123456可以表示成0.123456×10−2。纯小数R的小数点后第一位一般为非零数字。 同样,对于既有整数部分又有小数部分的二进制数也可以表示成如下形式: D = R×2N 式中,R为一个二进制定点小数,称为D的尾数;N为一个二进制定点整数,称为D的阶码,它反映了二进制数D的小数点的实际位置。 为了使有限的二进制位数能表示出最多的数字位数,定点小数R的小数点后的第一位(即符号位的后面一位)一般为非零数字(即为“1”)。 原码的表示方法 二进制数跟十进制数一样也有正负之分。在计算机中,常采用数的符号和数值一起编码的方法来表示数据。常用的有原码、反码、补码、移码等。这几种表示法都将数据的符号数码化。为了区分一般书写时表示的数和机器中编码表示的数,我们称前者为真值,后者为机器数或机器码。 所谓原码就是前面所介绍的二进制定点数表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。 定点小数的原码 假设定点小数的原码形式为x0.x1x2…xn,则其原码表示的定义为 式中,[x]原是机器数;x是真值。 例如,x = +0.1001,则[x]原 = 0.1001  x = −0.1001,则[x]原= 1.1001 定点整数的原码 假设定点整数的原码形式为x0x1x2…xn,则其原码表示的定义为 原码表示法的优点是比较直观、简单易懂,但它的最大缺点是加法运算复杂。这是因为,当两数相加时,如果是同号则数值相加;如果是异号,则要进行减法。而在进行减法时,还要比较绝对值的大小,然后减去小数,最后还要给结果选择恰当的符号。显然,利用原码做加减法运算是不太方便的。为了解决这些矛盾,人们找到了补码表示法。 补码的表示方法 由于计算机的运算受一定字长的限制,属于有模运算,所以,在计算机中可以使用补码进行计算。在定点小数机器中,数最大不超过1,也就是负的小数对“1”的补码是等价的。但实际上,负数的符号位还有一个“1”,要把它看成数的一部分,所以要对2求补码,也就是以2为模数。 定点小数的补码 假设定点小数的补码形式为 x0. x1x2…xn,则其补码表示的定义为 对于0,在补码情况下只有一种表示形式,即 [+0]补 = [−0]补=0.000…0 定点整数的补码 假设定点整数的补码形式为 x0 x1x2… xn,则其补码表示的定义为 采用补码表示法进行减法运算就比原码方便多了。因为不论数是正还是负,机器总是做加法,减法运算可变成加法运算。但根据补码定义,正数的补码与原码形式相同,而求负数的补码要减去|x|。为了用加法代替减法,结果还得在求补码时做一次减法,这显然是不方便的。从下面介绍的反码表示法中可以获得求负数补码的简便方法,解决负数的求补问题。 反码的表示方法 反码表示法中,符号的表示法与原码相同。正数的反码与正数的原码形式相同;负数的反码符号位为1,数值部分通过将负数原码的数值部分各位取反(0变1,1变0)得到。 定点小数的反码 假设定点小数的反码形式为 x0. x1x2…xn,则其反码表示的定义为 对于0,在反码情况下只有两种表示形式,即 [+ 0]反 = 0.000…0 [− 0]反 = 1.111…1 定点整数的反码 假设定点整数的反码形式为x0 x1x2…xn,则其反码表示的定义为 移码的表示方法 移码通常用于表示浮点数的阶码。阶码是个n位的整数,假设定点整数移码形式为x0 x1x2… xn时,移码的定义为 由移码的定义式可知,对于同一个整数,其移码与其补码数值位完全相同,而符号位正好相反。 将十进制真值x=−127、−1、0、+1、+127分别表示为8位原码、反码、补码、移码值的结果见表1-2。 表1-2 原码、反码、补码、移码值举例 BCD码的表示方法 计算机中使用的是二进制数,人们习惯使用的是十进制数,因此,输入到计算机中的十进制数需要转换成二进制数;数据输出时,应将二进制数转换成十进制数。为了方便,大多数通用性较强的计算机需要能直接处理十进制形式表示的数据。为此,在计算机中还设计了一种中间数字编码形式,它把每一位十进制数用4位二进制编码表示,称为二进制编码的十进制表示形式,简称BCD码(Binary Coded Decimal),又称为二-十进制数。 4位二进制数码,可编码组合成16种不同的状态,而十进制数只有0、1、…、9这十个数码,因此选择其中的十种状态做BCD码的方案有许多种,如8421BCD码、格雷码、余3码等。编码方案见表1-3。 表1-3 常用BCD编码对照表 最常用的BCD码是8421BCD码。8421BCD码选取4位二进制数的前10个代码分别对应表示十进制数的10个数码,1010~1111这6个编码未被使用。从表1-2中可以看到这种编码是有权码。4个二进制位的位权从高向低分别为8、4、2和1。若按权求和,和数就等于该代码所对应的十进制数,例如0110=22+21=6。 把一个十进制数变成它的8421BCD码数值,仅对十进制数的每一位单独进行即可。例如变1986为相应的8421BCD码表示,结果为0001 1001 1000 0110。反转换过程也类似,例如变0101 1001 0011 0111为十进制数,结果应为5937。 ...

    2023-08-25 数据恢复 606
  • 2019 山东省高职组选拔赛数据恢复题

        欢迎各位同学老师加入QQ群聊交流分享:908708577...

    2023-08-22 虚拟题目 573
  • 2019中职组国赛模拟题ADE

        欢迎各位同学老师加入QQ群聊交流分享:908708577 下载地址:点我下载提取码:8t5c...

    2023-08-22 虚拟题目 499

友情链接 百度收录正常的正规站可申请友情链接! 申请友链

联系我们

在线咨询:点击这里给我发消息

微信号:LS1975172433

工作日:9:00-23:00,节假日休息

扫码关注