2024-2025-1 20241312 《计算机基础与程序设计》第3周学习总结

news/2024/10/13 20:08:31

|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
|这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03
|这个作业的目标|数字分类与计数法
位置计数法
进制转换
模拟数据与数字数据
压缩与解压
数字化
信息安全
|作业正文|https://www.cnblogs.com/songjialinsjl/p/18462805

教材学习内容总结

《计算机科学概论》第七版第二章通常涉及计算机数据表示、记数系统等相关内容,以下是一些常见的重点:

1. 记数系统概述:

  • 基数:记数系统中使用的数字的种类。比如二进制的基数是2,使用的数字为0和1;十进制的基数是10,使用0到9这10个数字。不同的基数决定了记数系统的特点和应用场景。
  • 位值:每个位置的数值权重。在不同的记数系统中,数位的位值是基于基数的幂次方。例如,在十进制中,百位的位值是10² = 100,十位的位值是10¹ = 10,个位的位值是10⁰ = 1。
    2. 常见记数系统:
  • 二进制:计算机内部主要使用的数值表示方式。其优点是易于用电子电路实现,只有0和1两个数字,每位的权重是2的幂。比如二进制数101,转化为十进制就是1×2² + 0×2¹ + 1×2⁰ = 5。
  • 十进制:日常生活中最常用的记数系统,符合人类的思维习惯,便于进行一般的数学运算。
  • 十六进制:常用于计算机科学中表示二进制数据,便于阅读和表示大数。因为每4位二进制数可以用1位十六进制数表示,十六进制使用数字0-9以及字母A-F(分别代表10-15)。例如,二进制数1111 1111可以表示为十六进制的FF。
  • 八进制:使用数字0-7,每位的权重是8的幂。在某些计算机应用中使用,但相对较少见。
    3. 数制转换:
  • 二进制转十进制:将二进制数的每位数乘以相应的2的幂,然后求和即可得到十进制数。例如,二进制数1101转化为十进制为1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 13。
  • 十进制转二进制:采用除2取余法。不断将十进制数除以2,记录余数,直到商为0,然后逆序排列余数即为对应的二进制数。例如,将10转化为二进制,10÷2 = 5 余 0,5÷2 = 2 余 1,2÷2 = 1 余 0,1÷2 = 0 余 1,所以10的二进制表示为1010。
    4. 数据表示法:
  • 字符编码:计算机使用编码方式将字符转换为数字以便存储和处理。常见的字符编码标准有 ASCII 和 Unicode。ASCII 码可以表示128个字符,包括英文字母、数字、标点符号等;Unicode 则可以表示多种语言的字符,是 ASCII 的超集。
  • 浮点表示法:用于表示小数,分为符号位、指数位和尾数位。这种表示法能够处理很大或很小的数值,但在进行浮点运算时可能会存在精度问题。
    5. 二进制运算:
  • 加法:类似于十进制加法,但要注意进位。例如,二进制的 1 + 1 = 10(逢二进一)。
  • 减法:需要关注借位的问题。比如,二进制的 10 - 1 = 1。
  • 乘法与除法:可以通过反复的加法或减法实现。例如,二进制的乘法 101×11,可以转化为 101 + 1010 = 1111。

总之,第二章主要是为读者建立计算机数据表示的基础概念,理解不同记数系统的特点和相互转换方法,以及计算机中数据的各种表示形式和运算方式,这些知识对于后续深入学习计算机科学具有重要的基础作用。

《计算机科学概论》的第三章通常涉及计算机中数据的表示、存储、处理等方面的内容,以下是一些常见的要点:

1. 数据的基本概念:

  • 数据与信息的区别:数据是未经组织的基本值或事实,是对事物的原始记录;而信息是经过处理、具有一定意义且能够有效解决问题的数据。例如,一堆杂乱的数字是数据,而经过分析整理后得出的统计结果、趋势等就是信息。
  • 模拟数据与数字数据:
  • 模拟数据是用连续形式表示的信息,它在自然界中广泛存在,比如声音的声波、温度的变化等都是模拟信号。模拟数据可以取连续范围内的任意值,具有无限的精度。
  • 数字数据则是用离散形式表示的信息,进行数字化处理后得到的结果。数字数据只能取有限个离散的值,便于计算机存储和处理。
    2. 数据的表示方法:
  • 二进制表示法:计算机内部采用二进制来表示数据,因为二进制只有0和1两个数字,易于用电子电路实现。例如,一个8位的二进制数可以表示0到255之间的整数。
  • 负数的表示法:
  • 符号数值表示法:在这种表示方法中,用符号位来表示数的正负,0通常表示正数,1表示负数,其余位表示数值的大小。例如,在8位二进制中,00000001表示+1,10000001表示-1。
  • 二进制补码表示法:先将对应的正数按位取反(0变1,1变0),然后再加1,得到的结果就是该负数的二进制补码表示。这种表示方法可以方便地进行减法运算,并且在计算机中更容易实现。例如,对于5的二进制表示00000101,其负数-5的二进制补码表示为11111011。
  • 实数的表示法:
  • 浮点表示法:这是计算机中表示实数的常用方法,它由符号位、尾数和指数三部分组成。例如,一个浮点数可以表示为      ,其中 是符号位(0 表示正,1 表示负), 是尾数, 是指数。这种表示方法可以表示很大或很小的实数,但存在精度问题。
  • 科学计数法:是另一种浮点表示法,将一个实数表示为基数(通常是10)的幂次方乘以一个系数的形式,例如   。
    3. 文本的表示:
  • 字符集:字符和表示它们的代码的清单称为字符集。常见的字符集有 ASCII 和 Unicode。ASCII 码是最基本的字符编码标准,用7位二进制数表示128个字符,包括英文字母、数字、标点符号等;Unicode 是为了解决 ASCII 码无法表示世界上所有字符的问题而产生的,它是 ASCII 的超集,可以表示几乎所有的语言字符。
  • 文本压缩:由于文本数据量可能很大,为了节省存储空间和传输带宽,需要对文本进行压缩。常见的文本压缩方法有关键字编码、行程长度编码、Huffman 编码等。
  • 关键字编码:用单个字符代替常用的单词,但只能对三个及以上的字符进行编码,且不能在原始文本中有歧义。
  • 行程长度编码:将一系列重复出现的字符替换为它们重复出现的次数。
  • Huffman 编码:用变长的二进制串表示字符,使常用的字符具有较短的编码,从而提高压缩率。
    4. 音频数据的表示:音频数据是通过对模拟音频信号进行采样和量化得到的数字信号。音频信号的数字化需要确定采样频率和量化精度,采样频率越高、量化精度越高,音频的质量就越好,但数据量也会越大。常见的音频格式有 MP3、WAV 等,MP3 是一种有损压缩格式,可以在保持较高音频质量的同时大大减小文件大小。
    5. 图像与图形的表示:
  • 数字化图像:照片等图像是由许多独立的像素单元组成的,数字化一幅图像就是把它表示为一个独立的点集,这些点称为像素。图像的分辨率代表了图像中像素的个数,通常用横向像素数乘以纵向像素数来表示,例如 2560×1600 的分辨率表示图像横向有 2560 个像素,纵向有 1600 个像素。常见的图像存储格式有 BMP、JPEG、PNG 等,BMP 是未经压缩的位图格式,文件较大;JPEG 是最常用的有损压缩格式,可以在一定程度上损失图像质量来减小文件大小;PNG 是一种无损压缩格式,支持透明背景。
  • 图形的矢量表示法:与光栅图形(即像素图形)不同,矢量图形是用线段和几何图形来表示图像的,它的优点是可以无限放大而不失真,文件大小相对较小,常用于绘制图标、标志等简单图形。
    6. 视频的表示:视频是由一系列连续的图像帧组成的,视频的压缩技术包括时间压缩和空间压缩。
  • 时间压缩:通过对比连续帧之间的差别,删除相似的帧图像,只保留关键帧,从而减少数据量。
  • 空间压缩:基于静态图像的压缩技术,整合一帧以内的相似信息,减少每一帧图像的数据量。

教材学习中的问题和解决过程(先问 AI)

  • 问题1:十进制转化为十六进制的方法?
  • 问题1解决方案:十进制转换为十六进制主要有以下两种方法:

除16取余法

1. 用十进制数除以16,得到商和余数。
2. 余数如果是0 - 9,就直接记录这个数字;如果余数是10 - 15,就用字母A - F来表示(10用A表示、11用B表示,以此类推),这个余数作为十六进制数的最低位(最右边的位)。
3. 然后用得到的商继续除以16,再记录余数,作为十六进制数的次低位。
4. 不断重复这个过程,直到商为0。
5. 最后,将所有记录下来的余数从右到左排列,就得到了对应的十六进制数。

例如,将十进制数250转换为十六进制:

  • 250÷16 = 15,余数为10(用A表示)。
  • 15÷16 = 0,余数为15(用F表示)。

从右到左排列余数得到FA,所以十进制250转换为十六进制是FA。

降幂法(适用于整数部分)

1. 先找到小于或等于该十进制数的最大的16的幂次方数,将这个幂次方数对应的十六进制位置为1。
2. 用十进制数减去这个16的幂次方数,得到一个差值。
3. 再寻找小于或等于这个差值的最大的16的幂次方数,将其对应的十六进制位置为1,如此反复。
4. 对于那些没有对应的16的幂次方数参与减法运算的位,就置为0。

例如,对于十进制数340,16的平方(   )是小于等于340的最大16的幂次方,对应的十六进制位(从右向左数第3位)为1,340 - 256 = 84。16的1次方(   ),84中有5个16,对应的十六进制位(第2位)为5,84 - 16×5 = 4。对应的十六进制位(第1位)为4。所以340转换为十六进制是154。
我的理解:我认为进制的转化主要使用竖式除法,一个十进制的数字每次除以2余数写在最右边,商接着除

基于AI的学习

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 500行 30篇 400小时
第一周 0/0 1/1 4/4
第二周 0/0 1/2 6/10
第三周 5/5 1/3 6/16

参考资料

  • 《计算机科学概论(第七版)》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/71184.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

c++实验1

实验1:// 现代C++标准库、算法库体验 // 本例用到以下内容: // 1. 字符串string, 动态数组容器类vector、迭代器 // 2. 算法库:反转元素次序、旋转元素 // 3. 函数模板、const引用作为形参#include <iostream> #include <string> #include <vector> #inclu…

WINCC7.5SP2报表练习1-增加大量数据记录,报表查询、快速导出查询结果

这是分成两篇记录的学习笔记,这是第一篇,在新浪博客刚刚记录过,那边审查有点慢,时不时还会莫名其妙的清零,在这里也记录一次。 最近现场提出要做报表功能,数据来自两种控制系统,施耐德M580和ABB AC900F,我不想在每一套控制系统上各做报表,加上ABB AC900F的上位机freel…

seata 模式相关

Seata解决分布式的方案 1AT模式 数据最终一致 AT模式使用起来更加简单,无业务侵入,性能更好 AT 模式是 Seata 创新的一种非侵入式的分布式事务解决方案,Seata 在内部做了对数据库操作的代理层,我们使用 Seata AT 模式时,实际上用的是 Seata 自带的数据源代理 DataSource…

基于VL812芯片的USB 3.0Hub设计

前言(设计初衷) 由于自己笔记本插接口不多,在网上购买了一款USB扩展坞,但平时要往返宿舍和工位,书包要放课本、笔记本等,不想再增加重量就动手搞一个放工位上方便。自己动手,丰衣足食(哈哈哈哈其实是自己不想包里放太多东西,同时也想练练画板),接下来就开始进入我们…

LLM中词向量的表示和词嵌入的一些疑问

LLM中词向量的表示和词嵌入的一些疑问 词向量的一些特点 在3blue1brown的视频【官方双语】GPT是什么?直观解释Transformer | 深度学习第5章_哔哩哔哩_bilibili中, 在15min左右介绍了LLM的词嵌入的过程. 其中提到mother的词向量减去father的词向量, 会近似于women的词向量-man的…

2024-2025-1 20241304 《计算机基础与程序设计》第3周学习总结

2024-2025-1 20241304 《计算机基础与程序设计》第3周学习总结 作业信息这个作业属于哪个课程 <[2024-2025-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP>)这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK0…

DrawPad 离线注册

DrawPad 离线注册 目录DrawPad 离线注册reg_dialog_549414parpms==>callbackreg_5486C3do_reg_5489A4check_key_547842calc_idkey_54AB37calc_54A9A5transform_54A8FFpy 仅分析离线注册,联网时注册会有网络校验regcheck reg_dialog_549414 定位注册对话框 char __stdcall…

2024-2025-1 20241415 《计算机基础与程序设计》第三周学习总结

2024-2025-1 20241415 《计算机基础与程序设计》第三周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标 <温习巩固本…