当前位置: 首页 > news >正文

【C 学习】04.1-数字化基础

“知道做不到就是不知道”

为了更好地学习C语言,就需要了解数据究竟是怎么一回事?有哪些分类?在计算机内是怎么存储的......等等一系列问题。接下来就一起学习吧!

一、数据表示基础


1. 基本常识:
(1)广义的数据:是指表示人、事件以及思想的符号。
(2)数据和信息的不同:数据是符号,当数据成了人能够理解和使用的形式时,就可以称为信息。
(3)数据表示:是指数据存储、处理和传输的形式。
(4)数字数据:是指离散后的文本、数字、图形和声音
(5)模拟数据:被无限量的连续数值表示的真实数据。

例如用一系列连续变化的电磁波(如无线电与电视广播中的电磁波),或电压信号(如电话传输中的音频电压信号)来表示。


2. 数字数据表示:
(1)背景:无论计算机处理什么形式的数据,都需要将这些不同的元素转换为0和1的二进制形式。
(2)数字化:将信息转化为电子设备可处理数据的过程。
(3)现在的数字革命处于“大规模集成电路机阶段”。


3. 数字数据的存储
(1)位(bit):是一个0或1;
(2)文件(file):存储在存储介质上的数据集合的命名,每个文件都是一个唯一的名称。
(3)图示:

二、数字的表示


1. 数值数据:由可用于算术运算的数字组成。
2. 数值的表示方法(进制)
(1)二进制:只有0和1两个基本符号。
(2)二进制的转换方法:除2取余,倒序排列。

1. 负整数的转换方法

先将对应的正整数转换成二进制后,对二进制取反,然后对结果再加一(在二进制的基础上)。

2.十进制的小数的转换方法

将小数部分一直乘2取整,直到整数部分再次取到零,最后作为小数部分正序排列。

3. 二进制转化为十进制

注意计算。

三、文本的表示


1. 字符数据:由不在计算中使用的字母、符号和数字组成。
2. 常见字符数据文档文件:txt文件
3. 字符编码类型
(1)最常用的是ASCII码【128位】(一个字符数据的ASCII码用7比特(bit))
(2)Unicode码【65000位】:使用16位表示字符数据,包括韩文等其他语言
(3)UTF-8码(UTF--“UCS Transformation Format”):同时使用7位来表示ASCII字符和16表位 表示Unicode字符的变长编码模式(国际通用)。

【注意!!】任何带格式的文本,如果需要实现都要插入格式符(C语言中对于不同类型的数据用不同的格式字符,%d,%f )

(4)图像的表示方法:图像是由一系列像素点组成的。每个像素都要用二进制来储存颜色;
(5)声音的表示方式:
        ①声音是由波形的特性(峰值系数、波形系数、偏度因子、脉冲因子)来区分的;
        ②数字化声音的方法就是将声音采样为多个点,分别将这些点的位置转化为数字编码。

四、数据的单位


1. 位(bit,b):二进制位数(也就是0/1的个数)
2. 字节(Byte,B)1byte=8bit

区别:一般传输速率用“位”表示,存储空间用“字节”表示


3. 倍率换算:

来一个“小”问题:汉字是如何编码的呢?
汉字编码https://baike.baidu.com/item/%E6%B1%89%E5%AD%97%E7%BC%96%E7%A0%81/7123465

写在最后:

更新C语言学习笔记

如有错误,烦请多多批评指正!

http://www.lryc.cn/news/609220.html

相关文章:

  • Spring Boot 整合 Minio 实现高效文件存储解决方案(本地和线上)
  • Monaco Editor 开发流程详解
  • Flutter Dart类的使用
  • Redisson高并发实战:守护Netty IO线程的关键指南
  • 一加Ace5无法连接ColorOS助手解决(安卓设备ADB模式无法连接)
  • 【MySQL】MySQL 中的数据排序是怎么实现的?
  • FreeRTOS源码分析三:列表数据结构
  • 深度学习-读写模型网络文件
  • 03.一键编译安装Redis脚本
  • 07.config 命令实现动态修改配置和慢查询
  • ThinkPHP8.x控制器和模型的使用方法
  • VUE-第二季-01
  • 【实习总结】Qt通过Qt Linguist(语言家)实现多语言支持
  • Python-初学openCV——图像预处理(六)
  • 机器学习之决策树(二)
  • solidworks打开step报【警告!可用的窗口资源极低】的解决方法
  • 《C 语言内存函数深度剖析:从原理到实战(memcpy/memmove/memset/memcmp 全解析)》
  • 使用ACK Serverless容器化部署大语言模型FastChat
  • 【十九、Javaweb-day19-Linux概述】
  • 我的世界模组进阶教程——伤害(1)
  • 每日面试题20:spring和spring boot的区别
  • Linux 文件与目录操作命令宝典
  • Unity_数据持久化_IXmlSerializable接口
  • 【视频内容创作】PR的关键帧动画
  • SQL157 更新记录(一)
  • linux下jvm之jstack的使用
  • 代码随想录day53图论4
  • Java 大视界 -- Java 大数据在智能教育学习资源个性化推荐与学习路径动态调整中的深度应用(378)
  • 【LLM】 BaseModel的作用
  • 【0基础PS】PS工具详解--文字工具