首页 > 编程语言 >读《程序是怎样跑起来的》第六章有感

读《程序是怎样跑起来的》第六章有感

时间:2024-02-29 20:55:05浏览次数:22  
标签:文件 哈夫曼 有感 RLE 压缩 程序 算法 第六章 压缩算法

我在第六章中了解了文件的压缩。文件是将数据存储在磁盘等存储媒介中的一种形式。程序文件中存储数据的单位是字节。文件就是字节数据的集合。如果文件中存储的数据是文字,那么该文件就是文本文件。如果是图形,那么该文件就是图像文件。在任何情况下,文件中的字节数据都是连续存储的。
文件的压缩机制RLE算法的机制,把文件内容用“数据×重复次数”的形式来表示的压缩方法称为RLE算法。RLE算法是一种很好的压缩方法,经常被用于压缩传真的图像等。因为图像文件本质也是字节数据的集合体,所以可以用RLE算法来压缩。然而,在实际=的文本文件中,同样字符多次重复出现的情况并不多见。虽然针对相同数据经常连续的图像、文件等,RLE算法可以发挥不错的效果,但它并不适合文本文件的压缩。不过,因为该压缩机制非常简单,因此使用RLE算法的程序也相对更容易编写。
哈夫曼算法是哈夫曼于1952年提出的压缩算法。文本文件是由不同类型的字符组合而成的,而且不同的字符出现的次数也是不同的,哈夫曼算法的关键就在于“多次出现的数据用小于8位的字节数来表示,不常用的数据则可以用超过8位的字节数来表示”。为了更好的了解哈夫曼算法,现了解莫尔斯编码。莫尔斯编码不是通过语言,而是通过“嗒 嘀 嗒 嘀”这些长点和短点的组合来传递文本信息的。实际上,根据字符种类的不同,莫尔斯电码符号的长度也是不同的。莫尔斯编码把一般文本中出现频率高的字符用短编码来表示。
可逆压缩和非可逆压缩图像文件还可以使用与前文介绍的RLE算法、哈夫曼算法不同的其他压缩算法。这是因为,多数情况下,并不要求压缩后的图像文件必须还原到与压缩前同等的质量。我们把能还原到压缩前状态的压缩称为可逆压缩,无法还原到压缩前状态的压缩称为非可逆压缩。
压缩算法的种类大概有一二十种。之所以有如此多的压缩算法,是因为压缩比率,压缩需要的处理时间以及各种文件的需求等是不一样的。

标签:文件,哈夫曼,有感,RLE,压缩,程序,算法,第六章,压缩算法
From: https://www.cnblogs.com/chaipanpan/p/18045448

相关文章

  • 《程序是怎样跑起来的》第十二章读后感
    第十二章为如何让计算机学习,看完这个题目,我不禁想到输入法,无论是哪种输入法,在经过自己多次输入后,都会产生记忆,而计算机学习则是让计算机自己进行学习,分类问题是让计算机进行正确的识别与分类,在分类问题中,一般将学习算法成为学习器,将作为学习结果得到的称为分类器,模型就是用于识别......
  • 《程序是怎样跑起来的》第九章理解
    操作系统的发展可以追溯到20世纪50年代,当时的计算机主要被用于科学计算。那时的操作系统如IBM的批处理系统,主要是为了方便用户提交任务并等待结果。随着计算机应用的扩展,操作系统也逐渐发展出更多的功能,如多用户支持、多任务处理、内存管理等。随着分时系统的出现,操作系统开始支持......
  • 程序是怎样跑起来的 第二章
    1.CPU的引脚只能表达两种状态(0V,5V),这个特性决定了计算机的信息数据只能用二进制数来处理2.二进制数转化成十进制数的方法:各数位的数值和位权相乘后相加3.移位运算:左移运算和右移运算左移运算:无论正负值,左移后空出来的低位补0右移运算:逻辑运算和算术运算逻辑运算(......
  • C#的Winform程序关于单击和双击的区别 - 开源研究系列文章
          前些天编码的时候有个关于应用程序的托盘图标的鼠标MouseDown里的单击和双击的问题,只是想单击的时候显示主窗体,双击的时候显示操作窗体。但是编码并调试的时候发现Windows的鼠标双击的事件先执行的单击事件然后才执行双击事件,于是就找了度娘,并且在园子的博问里发布......
  • 2.24《程序员修炼之道:从小工到专家》读后感
    《程序员修炼之道》是由AndrewHunt和DavidThomas合著的一本经典编程书籍。这本书不仅仅关注编码技术,还强调软件开发中的实践、原则和技巧。以下是一些读者通常提到的主要观点:1.实用性强:书中提供了很多实用的建议,帮助程序员提高编程技能和职业素养。2.注重实践:作者强调实际编......
  • 《程序是怎样跑起来的》第十二章
    程序就像是由计算机执行的各种指令罗列起来的文章。计算机内部的CPU通过阅读理解该文章来控制连接到计算机的各种外围设备。控制就是指CPU和各种设备之间配合进行数据的输入输出处理。程序的使用目的基本分为两类,一类是用来处理各种问题或者帮助工作的工具;另一类使用的目的是用程......
  • 《程序是怎样跑起来的》第十一章读后感
    第十一章为访问硬件的方法,微型计算机是以软件与硬件组成,访问软件方法只是在屏幕上单击,而硬件该怎么去访问,可以通过BIOS与CMOS去进行操作,还有操作系统也为应用程序提供了间接访问硬件的方法,也就是系统调用的概念,windows使用in和out指令来访问硬件,因为windous禁止应用程序直接访问硬......
  • 《程序是怎样跑起来的》第十一章
    关于控制硬件,Windows提供了通过应用来间接控制硬件的方法,利用操作系统提供的系统调用功能就能实现对硬件的控制。在Windows中系统调用称为API。API就是应用调用的函数,这些函数存储在DLL文件中。Windows控制硬件时借助的是输入输出指令,这些指令也是汇编语言的助记符。IN指令通过指......
  • 内存与垃圾回收篇之(四)程序计数器
    程序计数器(PC寄存器)1.PCRegister介绍​ JVM中的程序计数寄存器(ProgramCounterRegister)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。​ 这里,并非是广义上所指的物理寄存器,或许将其翻译为PC计数器(或指令计数......
  • 《程序是怎样跑起来的》第十章读后感
    第十章为通过汇编语言认识到程序的真面目,在汇编语音中助记符是来表示本机代码功能的英文缩写,而汇编一次是讲将汇编语言源代码转换成本机代码,而反汇编则是讲本机代码换为汇编语言源代码,汇编源文件的扩展名为.asm,但是在Linux中主要为.s,而汇编源代码指令是有两种为伪指令与注释,伪指令......