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

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

时间:2024-02-27 22:58:55浏览次数:200  
标签:编码 字节 哈夫曼 压缩 程序 BMP 第六章 格式 怎样

读书笔记:6.1:在文件中存储数据的基本单位是1字节(8比特);zip表示压缩文件;zip是Windows标准支持的压缩文件扩展名。半角英文、数字和符号都是用1字节表示的,汉字等全角字符用2字节表示。.BMP格式的图片文件是没有经过压缩的,因此比PNG等压缩格式的图片文件要大。
文件是字节数据的集合体。1字节(=8比特)能够表示的字节数据共有256种,也就是二进制数00000000~11111111所表示的范围。
6.2:这样将文件内容用“数据x重复次数”来表示的压缩方法称为游程编码(runlength encoding)图6-2)。游程编码是一种很好用的压缩方法,常用在传真的图像压缩等领域。
6.4:哈夫曼算法是大卫·哈夫曼于1952年提出的,ZIP格式也是使用哈夫曼算法来进行压缩的。要理解哈夫曼算法,我们首先需要舍弃“1个半角英文、数字和符号占1字节(8比特)”的固有观念。一个文本文件中包含各种各样的字符,但每个字符的出现次数是不同的。在实际的莫尔斯码中,不同字符所使用的编码长度是不同的。莫尔斯码的编码对象是英文字母,在一般的文本中出现频率越高的字母,其编码长度越短。这里的出现频率不是对出版物中的文章进行统计得出的结果,而是根据印刷厂所使用的活字个数来确定的。如表6-2所示如果将短信号编码为1,长信号编码为11,那么字母E就只用一个“1”,即1比特表示,而字母C需要用“110101101",共9比特来表示。这里我们用0来表示信号的间隔。在实际的莫尔斯码中,如果短信号长度为1,则长信号长度为3,间隔的长度为1。
6.5:哈夫曼算法使用 哈夫曼树来构建编码系统从而实现了不用分隔符就能区分字符的编码系统。在使用哈夫曼树的情况下,即便每个字符的编码长度不同不同的字符也能正确分隔开来。理解了哈夫曼树的构建方法,就可以编写程序用哈夫曼算法实现文件压缩。
6.7:使用图片文件的目的是将图像数 据输出到显示器或打印机:Windows标准图像数据的格式是BMP团,这是一种完全未经压缩的格式。由于显示器或打印机输出的点(bit)可以直接 映 射,所以使用了BMP(bitmap)这个名称。除BMP格式之外,还有很多其他类型的图片文件格式,例如JPEG由格式、GIF显格式、PNG通格式等。BMP之外的大多数图像数据格式采用了一定的方法对数据进行压缩.

标签:编码,字节,哈夫曼,压缩,程序,BMP,第六章,格式,怎样
From: https://www.cnblogs.com/chenkail/p/18038613

相关文章

  • 程序是怎样跑起来的(第七章)
    程序在怎样的环境下运行每个程序都有其对应的运行环境。程序的运行环境是通过操作系统和硬件(处理器、内存等)来表示的,也就是说,操作系统和硬件决定了程序的运行环境。一台计算机可以安装多种操作系统,因为操作系统有很多版本,有些应用程序可能只在特定版本的操作系统中运行。将硬件作......
  • 《程序是怎样读起来的》第九章读后感
    读完《程序是怎样读起来的》的第九章,我深感启发。这一章主要探讨了如何有效地阅读和理解复杂的程序代码,对于提升我的编程能力和解决问题的能力有着很大的帮助。首先,这一章强调了阅读代码的重要性。在编程过程中,我们往往花费大量时间编写代码,但却很少花时间去阅读和理解别人的代码......
  • 《程序是怎样跑起来的》第十章读后感
    在阅读《程序是怎样跑起来的》第十章后,我对于程序运行的底层机制有了更为深入的理解。这一章主要探讨了程序如何在操作系统的管理下运行,以及操作系统如何提供各种服务来支持程序的运行。首先,我了解到程序在运行过程中,需要经过一系列的步骤,包括编译、链接、加载等。这些步骤都是为......
  • 《程序是怎样跑起来的》第十一章读后感
    在阅读《程序是怎样跑起来的》第十一章后,我对于程序的运行和计算机的工作原理有了更为深入的理解。这一章主要探讨了计算机的硬件架构以及程序如何在硬件上实现并行计算,对于我理解计算机系统的底层实现具有很大的帮助。首先,这一章介绍了计算机的硬件架构,包括CPU、内存、硬盘、显......
  • 《程序是怎样跑起来的》第四章
    本章主要讲内存,计算机是进行数据处理的设备,而程序表示的就是处理顺序和数据结构。由于处理对象数据是存储在内存和磁盘上的,因此程序必须能自由地使用内存和磁盘。由此可见内存的重要性。内存实际上是一种名为内存IC的电子元件,内存IC中有电源、地址信号、数据信号、控制信号等用......
  • 《程序是怎样跑起来的》第八章读后感
    《程序是怎样跑起来的》第八章主要讲了从源文件到可执行文件,其中包括计算机只能运行本地代码,本地代码的内容,编译器负责转换源代码,仅靠编译是无法得到可执行文件的,启动及库文件,DLL文件及导入库,可执行文件运行时的必要条件,程序加载时会生成栈和堆,有点难度的Q&A九个章节,其中我学到CPU......
  • 《程序是怎样跑起来的》第八章读后感
    读完《程序是怎样跑起来的》第八章,我对计算机的工作原理和程序的执行过程有了更深入的理解。这一章节详细介绍了程序在计算机中的运行机制,包括指令的执行、数据的处理和内存的管理等方面。通过阅读这一章,我不仅了解了计算机的基本工作流程,还对编程语言的本质有了更深刻的认识。首......
  • 《程序是怎样跑起来的》第五章
    读书笔记:5.1:1.磁盘缓存指将从磁盘中读取的数据暂时保存在内存中,当需要再次读取相同的数据时,就可以不访问磁盘,而是直接从内存中快速读取。1.虚拟内存可以让内存容量小的计算机运行大型程序。.DLL是DynamicLinkLibrary(动态链接库)的缩写。.函数的链接方式分为静态链接和动态链接......
  • 《程序是怎么跑起来的第六章》
    《程序是怎样跑起来的》第六章主要讲述的是关于数据压缩的内容。在这一章中,作者首先介绍了文件是以字节为单位存储在计算机中的,并详细讲解了压缩的一种方式——游程编码,也就是将连续重复的数据转换成“数据*重复次数”的形式。接下来,作者进一步阐述了RLE算法的机制及其局限性,这种......
  • 程序是在何种环境中运行的
    应用的运行环境是指操作系统和计算机本身(硬件)的种类。7.1运行环境=操作系统+硬件,让我们更加了解了运行环境。7.2讲述Windows克服了CPU以外的硬件差异。7.3介绍不同操作系统的API不同。7.4讲了FreeBSDPort帮你轻松使用源代码。7.5教我们利用虚拟机获得其他操作系统环境。......