【Java SE 基础学习打卡】03 计算机中数据的表示、存储与处理

前言

刚开始学编程的小伙伴,可能会疑惑:“我写的代码里有数字、字母,电脑是怎么存这些东西的呀?” 其实电脑很 “笨”,它只认 0 和 1 这两个数字!这一节咱们就用大白话,聊聊电脑里的数据是咋用 0 和 1 表示的、存在哪儿,还有不同数字形式咋转换,最后再说说文字是咋变成电脑能认的 “密码” 的 —— 这些知识,以后写代码处理数据时肯定用得上。

一、数据的表示:搞懂电脑 “认数据” 的规则

1.1 先分清:数据和信息不是一回事

咱们平时总说 “数据”“信息”,其实它们俩不一样:

  • 数据:就是没经过处理的 “原材料”,比如一串数字 “100”、一个字母 “A”,单独看不知道啥意思;

  • 信息:是数据经过处理后有意义的结果,比如 “考试成绩 100 分”,这就知道是考得好啦。

在这里插入图片描述

在电脑里,数据和信息的界限有时很模糊 —— 比如你写代码时定义的变量 “score=95”,对电脑来说是数据,但对你来说就是 “分数 95” 这个信息。不用纠结太细,知道 “电脑先存数据,再处理成你能懂的信息” 就行。

1.2 关键知识点:电脑只认二进制(0 和 1)

为啥电脑只认 0 和 1?其实是因为电脑硬件的 “特性”—— 比如电路要么通电(用 1 表示)、要么断电(用 0 表示),用 0 和 1 最容易实现。这个规则是冯・诺依曼提出来的(不过最早想出二进制的是德国数学家莱布尼茨)。

简单说:电脑里所有东西,不管是数字、字母,还是图片、代码,最终都会变成一串 0 和 1 来存储和处理。比如你在代码里写的数字 “5”,电脑里其实是 “101”;字母 “A”,也会变成特定的 0 和 1 组合。

1.3 别搞混:数据的单位有哪些?

咱们说 “电脑内存 8G”“硬盘 512G”,这些 “G”“M” 就是数据单位。就像买水用 “升”、买米用 “斤”,电脑存数据也有自己的 “计量单位”,重点记这几个常用的:

单位说明换算关系
位(Bit)电脑最小的数据单位,只有 0 或 1 两种状态-
字节(Byte)电脑存数据、传数据的基本单位1Byte = 8Bit
千字节(KB)存小文件(比如简单的代码文件)常用1KB= 1024Byte
兆字节(MB)存中等文件(比如图片、编程软件安装包)1MB=1024KB
吉字节(GB)描述内存、硬盘容量常用1GB=1024MB
太字节(TB)大硬盘、服务器存储常用1TB=1024GB

这里要注意:数据单位是按 “1024 倍” 换算的,不是 10 倍哦!比如 1GB 不是 1000MB,而是 1024MB。

还有个词叫字长,简单说就是 CPU 一次能处理的二进制位数。比如 64 位 CPU,一次能处理 64 个 0 或 1 —— 字长越长,CPU 处理数据的速度越快,能算的数也越大。

二、数据的存储:知道数据 “放哪儿” 才不丢

2.1 数据存在哪儿?分 “临时存” 和 “长期存”

你写的代码、处理的文件,在电脑里存的地方不一样,主要分两种:

  • 内存(RAM,临时存储):相当于电脑的 “临时工作台”—— 你打开编程软件、运行代码时,数据会临时存在这里,方便 CPU 快速调取。缺点是 “一断电就没”:比如你写代码没保存就突然关机,内存里的代码就丢了,所以一定要记得随时保存!

  • 外存(长期存储):相当于电脑的 “储物柜”—— 你保存的代码文件、安装的软件,都会存在这里,就算关了电脑也不会丢。常见的外存有:固态硬盘(SSD,速度快,推荐)、机械硬盘(HDD,价格便宜)、U 盘、光盘这些。

简单总结:运行中的数据放内存,要长期保存的放外存—— 以后写代码时,“保存文件” 就是把内存里的临时数据,转到外存里长期存着。

2.2 存储的核心逻辑

数据在电脑里存储时,不管是内存还是外存,最终都会以二进制的形式排列。比如一个字节(8 位)的空间,能存储从 “00000000” 到 “11111111” 的二进制数据,对应十进制就是 0 到 255—— 这也是为啥早期 ASCII 码能表示 128 个字符(用 7 位二进制),因为 1 个字节的空间完全够用。

三、数据的处理:搞懂 “进制” 和 “转换” 不懵圈

3.1 先懂 “进制”:电脑和咱们的 “数字语言” 差异

咱们平时用的是 “十进制”(0-9,逢 10 进 1),但电脑用 “二进制”(0-1,逢 2 进 1)。有时候还会用到 “八进制”“十六进制”(比如写代码时表示颜色、内存地址),咱们不用学太复杂,先认清楚这几种进制的基本规则:

进制类型数字范围进位规则代码中常用标识(可选)
二进制0、1逢 2 进 1无(默认根据上下文判断)
十进制0-9逢 10 进 1无(日常默认)
八进制0-7逢 8 进 1数字前加 “0”,如 012
十六进制0-9、A-F(A=10)逢 16 进 1数字前加 “0x”,如 0x1A

给大家列几个常用的对应关系,记不住也没关系,知道有这个对应就行:

二进制十进制八进制十六进制
0000
1111
10222
11333
100444
101555
11111517F
10000162010

3.2 进制转换:重点学 “二进制与十进制互转”

咱们不用强迫自己手动算复杂的转换(以后写代码时电脑会自动处理),但得懂基本方法,遇到简单情况能反应过来:

(1)二进制转十进制:按权展开求和

举个例子:把二进制 “11001” 转成十进制。

  • 第一步:给二进制的每一位标上 “权”(从右往左,从 0 开始数):二进制数字:1(第 4 位)、1(第 3 位)、0(第 2 位)、0(第 1 位)、1(第 0 位)。

  • 第二步:算 “每一位数字 × 2 的权次方”,然后把结果加起来: 1 × 2 4 + 1 × 2 3 + 0 × 2 2 + 0 × 2 1 + 1 × 2 0 = 25 1 \times 2^{4} + 1 \times 2^{3} + 0 \times 2^{2} + 0 \times 2^{1} + 1 \times 2^{0} = 25 1×24+1×23+0×22+0×21+1×20=25

  • 结论:二进制 “11001” 对应的十进制就是 25。

(2)十进制转二进制:除 2 取余,逆序排列

举个例子:把十进制 “53” 转成二进制。

  • 第一步:用 53 不断除以 2,把每次的余数记下来(直到商为 0):

    • 53 2 = 26...1 \sqrt[2]{53} = 26...1 253 =26...1(用 2 除 53 得 26 余 1)

    • 26 2 = 13...0 \sqrt[2]{26} = 13...0 226 =13...0(再用 2 除 26 得 13 余 0)

    • 13 2 = 6...1 \sqrt[2]{13} = 6...1 213 =6...1(用 2 除 13 得 6 余 1)

    • 6 2 = 3...0 \sqrt[2]{6} = 3...0 26 =3...0(用 2 除 6 得 3 余 0)

    • 3 2 = 1...1 \sqrt[2]{3} = 1...1 23 =1...1(用 2 除 3 得 1 余 1)

    • 1 2 = 0...1 \sqrt[2]{1} = 0...1 21 =0...1(用 2 除 1 得 0 余 1)

  • 第二步:把余数从后往前排(逆序):1 1 0 1 0 1

  • 结论:十进制 “53” 对应的二进制就是 “110101”。

四、字符编码:让电脑 “读懂” 文字的关键

4.1 文字咋存?靠 “字符编码” 当 “翻译官”

咱们写代码时会用到字母、汉字,比如变量名 “student”、注释 “这是成绩变量”,这些文字电脑咋用 0 和 1 表示呢?靠的是 “字符编码”—— 相当于给每个文字编一个 “数字密码”,电脑存储时存这个密码(再转成二进制),显示时再把密码转成文字,就像 “翻译官” 一样。

在这里插入图片描述

4.2 常见的字符编码:重点记 UTF-8

有三种常见的编码,咱们不用深入研究原理,重点记清楚 “为啥编程要选 UTF-8”:

  • ASCII 码:最早的编码,只支持英文字母、数字和标点(比如 “A” 对应 65,“a” 对应 97),但完全不支持中文 —— 现在基本只在老系统里用。

在这里插入图片描述

  • Unicode:为了解决 “多语言显示问题”,把中文、英文、日文等全世界的文字都编了码(比如 “中” 对应 65533),但缺点是存储时占空间大(一个字符要 2-4 个字节)。

  • UTF-8:最常用的编码!基于 Unicode,但能 “按需分配空间”—— 英文字符用 1 个字节(和 ASCII 码兼容),中文字符用 3 个字节,既省空间又能支持所有语言。

4.3 编程必看:为啥一定要用 UTF-8?

新手写代码常遇到 “乱码” 问题(比如中文注释显示成一堆问号),大多是因为编码没设对。以后不管用 IDEA、VS Code 还是其他编程软件,新建文件或项目时,一定要把编码格式设为 UTF-8—— 这样不管在自己电脑还是别人电脑上运行代码,文字都能正常显示,不会出现乱码。

总结

学完这一节,你只要记住 5 个关键点:

  1. 电脑只认二进制(0 和 1),所有数据最终都会转成二进制;

  2. 数据单位按 1024 倍换算,内存临时存、外存长期存,写代码要随时保存;

  3. 二进制和十进制有固定转换方法,电脑会自动处理,不用手动算复杂数值;

  4. 文字靠字符编码存储,编程时一定要把编码设为 UTF-8,避免乱码;

  5. 这些知识是以后处理数据、解决 bug 的基础,不用一次全背会,用到时回头看就行。

《模拟电子技术基础》是电子工程领域的一本经典教材,主要涵盖了模拟电子电路的基本理论、分析方法和实际应用。黄丽亚编著的第三版在前两版的基础上进行了更新和优化,旨在帮助学习者深入理解和掌握模拟电子技术的核心概念。本书的习题答案对于学生自我检查、巩固学习成果至关重要。 在学习《模拟电子技术基础》时,首先需要理解基本的电子元件,如电阻、电容、电感以及二极管、三极管等半导体器件的工作原理。电阻是电路中最基本的元件,用于分压、限流;电容则储存电荷,可以滤波或耦合信号;电感利用电磁感应储存能量,常用于滤波器设计。二极管作为单向导电器件,广泛应用于整流、稳压及开关电路;三极管则是一种电流控制电流的器件,可作为放大器或开关使用。 习题解答部分将涉及以下几个关键知识点: 1. 直流电路分析:包括欧姆定律的应用,基尔霍夫定律(电流定律KCL和电压定律KVL)的运用,电路等效变换,电源模型的转换等。 2. 放大电路:研究共射、共集、共基三种基本放大电路的特性,如电压增益、输入电阻和输出电阻的计算,频率响应,稳定性分析等。 3. 集成运算放大器:理解理想运放的性质,如无限大的开环增益,零输入差模电压,无穷大的输入阻抗和零输出阻抗。学习基本的运算放大器应用电路,如电压跟随器、加法器、减法器、积分器和微分器。 4. 动态电路暂态分析:通过RLC串联和并联电路的暂态分析,了解自然响应(齐次解)和强迫响应(特解)的概念,掌握一阶和二阶动态电路的分析方法。 5. 波形产生电路:如正弦波振荡器、方波发生器和锯齿波发生器的工作原理和设计。 6. 功率放大器:了解功率放大器的分类,如OTL、OCL、BTL等,以及它们在音频系统中的应用。 7. 模拟集成电路:探讨集成运算放大器、比较器、电压基准源等模拟集成电路的原理和应用。 8. 集成电源:了解线性稳压器和开关电源的工作原理,以及如何选择合适的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程实战派-李工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值