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

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

时间:2024-02-27 21:13:58浏览次数:28  
标签:文件 有感 哈夫曼 RLE 压缩 程序 算法 第六章 数据

第六章——亲自尝试压缩数据

压缩文件扩展名LZH和ZIP等。

1.文件以字节为单位保存
文件就是字节数据的集合,用1个字节表示的字节数据有256种,二进制来表示的话范围就是00000000~11111111。

2.RLE算法的机制
用“数据*重复次数”的形式表示就属于RLE算法压缩的文件。
RLE(行程长度编码)

3.RLE算法的缺点
适合字符重复出现的情况,例如相同数据经常连续出现的图像、文件,但不适合文本文件的压缩。
原因:文章中字符大量连续出现的情况不多见,文本文件使用RLE算法压缩后反而文件更大。

4.哈夫曼算法
哈夫曼算法的关键是“多次出现的数据用小于8位的字节数来表示,不常用的数据可以用超过8位的字节数来表示。”
注意:不管是否满8位的数据,最终都会以8位为单位保存在文件中。

哈夫曼算法:为各压缩对象文件分别构造最佳的编码体系,并以该编码体系为基础进行压缩。用哈夫曼算法压缩后的文件中,存储着哈夫曼编码信息和压缩后的数据。

哈夫曼算法能够大幅提升压缩比率。

5.可逆压缩和非可逆压缩
图像文件的压缩:
可以还原到压缩前的状态的压缩称为可逆压缩,无法还原到压缩前的状态的压缩称为非可逆压缩。

以上为本章所学内容,下章见!

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

相关文章

  • 程序是怎样跑起来的第八九章读后感
    第八章讲的是编译器的功能,介绍了从程序编写到运行为止的流程。本章主要介绍了c语言编译器,来编写Windows可用的执行文件(EXE文件)。其他编译器的情况与此是相同的机制。计算机只能运行本地代码,这是因为用任何编程语言编写的源代码,最后都要翻译成本地代码,否则CPU就不能理解。(源代码指......
  • 《程序是怎样跑起来的》第十章读后感
    《程序是怎样跑起来的》第十章主要讲的是通过汇编语言了解程序的实际构成。在本章之前,我们也了解过汇编语言和反汇编语言。汇编语言转换成本地语言,负责转换工作的程序成为汇编器,转换这一处理本身成为汇编。本地代码也可以反过来转换成汇编语言的源代码。持有该功能的逆变换程序成......
  • 通过汇编语言了解程序的实际应用
    通过调查本地代码的内容,可以了解程序最终是以何种形式来运行的。但是,如果直接打开本地代码来看的话,只能看到数值的罗列。如果直接使用这些数值来编写程序的话,还真是不太容易理解。因而就产生了这样一种想法,那就是在各本地代码中,附带上表示其功能的英语单词缩写。例如,在加法运算的......
  • 程序是怎样跑起来的 日矢泽久雄 第六章
    《程序是怎样跑起来的》这本书的第六章,主要探讨了文件压缩的机制和方法。读完这一章后,我对文件压缩有了更深入的理解。我知道了简单的压缩算法——RLE(Run-LengthEncoding)。在这种算法中,每个字符后面标识出现的频率,例如“A6B1C2E5F1”就是用RLE算法压缩后的结果。然而,文本文件的......
  • 《程序是怎样跑起来的》第八章读后感
    本章主要讲解了编译器的功能,程序员编写的代码称为源代码,而源代码在计算机上无法运行的,需要通过编译器生成本地代码才能在计算机上运行,每个源代码编程语言都需要专用的编译器,编译器通过语法解析、句法解析、语义解析等才能生成本地代码,根据CPU的不同,本地代码也不同,正如上一章所说的......
  • 汇编语言以及程序的实际构成是什么
    汇编语言为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“ADD”代表加法,“MOV”代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语......
  • 程序是怎么跑起来的第十一章
    Windows提供了通过应用来间接控制硬件的方法,利用操作系统提供的系统调,用功能就可以实现对硬件的控制,在Windows中,系统调用称为API,各API就是应用调用的函数。IN指令通过指定端口号的端口输人数据,并将其存储在CPU内部的寄存器中。OUT指令则是把CPU寄存器中存储的数据,输出到指定端口......
  • 《程序是怎样跑起来的》第七章读后感
    本章主要讲解了程序是怎样运行的,不同的程序不同的环境上不一定可以运行,而操作系统和硬件决定了程序的运行环境,同一类的硬件可以选择安装多种操作系统,但从程序运行环境来考虑,CPU的种类是特别重要的,从Windows克服了CPU以外的硬件差异可以看出(CPU不同本地代码不同)。不同操作系统的API......
  • 程序是在何种环境下进行的
    应用的运行环境指的是操作系统和计算机本身(硬件)的种类Macintosh用的操作系统(MacOS),在AT兼容机上无法运行。Windows上的应用,在MacOS上无法运行FreeBSD提供的Ports,指的是:通过使用源代码来提供应用,并根据运行环境进行整合编译,从而得以在该环境下运行的机制在Macintosh上可以......
  • 《程序是怎样跑起来的》第六章读后感
    读了本章之后,我知道了在文件中存储数据的基本单位是1字节;在doc、zip、txt这些文件扩展名中,代表压缩文件的是zip;在Windows计算机经常使用的Shift-JIS编码中,一个半角英文或数字字符需要1字节的数据来表示;BMP格式的图片文件不经过压缩;压缩后的数据可以恢复成原始数据的是无损压缩,不能......