计算机二进制表示和存储各种数据
目录
计算机二进制是什么
计算机中二进制数作用
不同数据的表示和存储
数字
文字
图片
音频
视频
计算机的中数据的显示和存储
计算机二进制是什么
计算机二进制数:计算机里存储的一切都是以二进制的0和1来表示。二进制是计算机使用的数字编码系统,所有的数据都以二进制形式进行存储和传输。在计算机中,数据通常以比特(bit)的形式存储和传输,一个比特可以表示0或1。(bit是计算机能够存储的信息的最小单位)
二进制:二进制数制是一种基数为2的数制,使用0和1两个数码来表示数值。在计算机科学中,二进制被广泛用于计算机内部的信息表示、存储和处理。每个0或1占用存储器(内存或硬盘)上的1个二进制位。然而,计算机可存取的最小单位不是位,而是字节(Byte),每个字节由8个二进制位组成。
PS:计算机二进制就是通常所说的二进制,它们都是基于二进制数制的表示方法,只是在不同场合下有不同的称呼。
计算机中二进制数作用
计算机中的所有数据,无论是文本、图像、音频还是视频,最终都会被转换为二进制形式进行存储和处理。这是因为二进制数的表示和运算规则非常简单,非常适合计算机硬件电路的实现。通过二进制数的运算和转换,计算机能够高效地执行各种复杂的任务。
不同数据的表示和存储
数字
任何数字都可以使用0和1的组合来表示。这是因为二进制系统基于两个基本的数字(或称为基数,base),即0和1。通过组合这些基本的数字,我们可以表示任何非负整数。
二进制数中的每一位(bit)都有一个权重,这个权重是2的幂次。从右到左(最低位到最高位),这些权重分别是2^0, 2^1, 2^2, ..., 2^n,其中n是二进制数的位数减一。二进制数中的每一位(bit)都有一个权重,这个权重是2的幂次。从右到左(最低位到最高位),这些权重分别是2^0, 2^1, 2^2, ..., 2^n,其中n是二进制数的位数减一。
示例:
二进制数00000000
就表示十进制中的0
二进制数00000001
表示十进制中的1
二进制数00000010
表示十进制中的2
依此类推...
一个字节由8位组成,最大可存的数字为:十进制中255(二进制格式表示为11111111),计算:1 * 2^7 + 1 * 2^6 + 1 * 2^5 + 1 * 2^4 + 1 * 2^3 + 1 * 2^2 + 1 * 2^1 + 1 * 2^0 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255。
PS:用的线越多,能存储的数字就越大。用8条线就能存储0到255之间的数字,用32条线就能存储0到40亿多的数字。所以能通过二进制系统表达任何数字。
文字
任何文字都可以使用0和1的组合来表示(当然,这给你选择的编码方式有关)。二进制表示文字主要依赖于特定的编码方式(通过编码方式中的)。
以下是主要编码方式:
英文字符,最常用的编码方式是ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)。ASCII码使用7位二进制编码来表示128个不同的字符,包括字母、数字、标点符号等。每个字符都有一个对应的ASCII码值,这个值在计算机内部以二进制的形式存储和传输。
中文字符,由于其数量远超过ASCII码能够表示的范围,因此需要采用其他编码方式。常见的中文字符编码方式包括GB2312、GBK、GB18030以及Unicode等。这些编码方式将中文字符映射到特定的编码值,然后这些编码值再转换为二进制数进行存储和传输。
以Unicode编码为例,它是一种用于表示全球范围内所有字符的编码系统。Unicode编码可以使用16位或32位二进制数来表示一个字符。对于中文字符,Unicode编码能够提供一个唯一的二进制表示,从而确保在不同系统和平台之间的一致性和互操作性。
在计算机内部处理文字时,操作系统或应用程序会根据所使用的编码方式将二进制数据解码为对应的字符。这样,用户就可以在屏幕上看到文字,或者进行文本编辑、搜索等操作。
需要注意的是,不同的编码方式可能使用不同长度的二进制数来表示同一个字符,因此在处理文本数据时,需要确保使用正确的编码方式进行解码,以避免出现乱码或数据损坏的情况(要保证编码和解码使用的方式一致)。
示例:
以ASCII编码方式表示大写字母A
- 大写字母A的编码是
65
(十进制数) - 大写字母A的二进制表示是
1000001
PS:编码方式主要通过字符集、码表(字符集与十进制和二进制的对应表)、十进制、二进制数来表示字符。
图片
任何图片都可以使用0和1的组合来表示。所有的图片信息是通过很小的,叫做像素(pixel)的点来表示,每个点都有它的颜色(每个颜色都能用数字代表)。图片是由上百万个像素组成的(所以存储图片所占空间较大)。
对于最简单的二进制图像(也称为二值图像),每个像素只有两种状态,通常用1位二进制数表示。在这种情况下,像素值非0即1,没有中间值。通常0表示黑色,1表示白色。这种表示方式非常节省空间,但只能描述边缘轮廓等,无法显示图像的细节。
对于更复杂的灰度图像,每个像素的亮度级别用多位二进制数表示。常见的灰度图像使用8位二进制数表示一个像素,这样就有256个可能的亮度级别,从0(黑色)到255(白色),中间的值表示不同的灰色阴影。因此,一个8位灰度图像的每个像素都可以用一个字节的二进制数来表示。
对于彩色图像,情况就更加复杂了。彩色图像通常使用RGB(红绿蓝)色彩模式,每个像素由红、绿、蓝三个分量组成,每个分量都可以用一个字节(8位)的二进制数表示。因此,一个24位RGB彩色图像的每个像素需要3个字节的二进制数来表示。此外,还有更高级的色彩模式,如CMYK和HSB等,它们需要更多的二进制位数来表示。
除了像素值外,图片的二进制表示还可能包含其他元数据,如图像的尺寸、分辨率、颜色深度、压缩方式等。这些信息对于正确地解析和显示图像都是非常重要的。
音频
任何音频都可以使用0和1的组合来表示。声音是由振动的物体发出的,包括人说话的声音、乐器演奏的声音等。而计算机中的音频是指将声音信号转化为数字信号,并通过数学算法对其进行处理和编辑的过程。
声音基本上就是空气中一系列的振动,振动也能通过波形图像来表示,波形图像中的任何点也能通过一个数字来表示,通过这样的方法,任何声音都能被分解成一系列的数字,如果需要高质量的声音,那么就需要32位音频,否则8位就够了。更多的位数意味着更大范围的数字。
二进制数表示音频是通过将模拟声音信号转换为数字信号来实现的。这个过程涉及采样、量化和编码等步骤,最终将声音信息转换为二进制数,以便在计算机中进行存储、处理和传输。
- 采样:采样是在特定时刻对模拟声音信号进行测量,得到离散时间信号的过程。采样频率(指1秒内的采样次数)决定了音频的分辨率和能够记录的最高频率。如果采样频率过低,高于该频率的声音信号分量会发生频域混叠,导致声音失真。
- 量化:量化是将采样值转换为有限数量的离散值的过程,即将模拟信号的幅度转换为二进制数。量化位数(描述每个采样点的二进制数位)决定了音频的精度和信噪比。
- 编码:编码是将量化后的二进制数据转换为适合存储和传输的格式。音频编码通常使用脉冲编码调制(PCM)或其他更高效的压缩编码方法,如MP3、AAC等。
经过上述步骤,模拟声音信号就被转换为了二进制数表示的音频数据。这些数据可以存储在计算机的内存或硬盘中,也可以通过网络进行传输。当需要播放音频时,计算机将这些二进制数据解码回模拟信号,然后通过扬声器播放出来。
视频
视频实际上是由连续的图像帧(可以视为连续的图片)和音频流组成的多媒体内容。这两部分共同构成了我们观看视频时的视听体验。
-
连续的图像帧:视频是由一系列静态的图像帧组成,当这些图像帧以足够快的速度连续播放时,人眼会感知到动态的画面。每一帧记录了特定时间点的场景,通过连续播放这些帧,我们可以观察到场景的变化和动作的发展。
-
音频流:与图像帧同步的是音频流,它提供了视频的声音部分。音频流包括对话、音效、背景音乐等元素,为视频增添了声音层面,使得视频内容更加丰富和生动。
以上有对图片和音频的大致说明这里就不再过多叙述。
计算机的中数据的显示和存储
当我们使用计算机中的功能存储数据,并不是直接写1和0,计算机的工作(按照一定的编码方式)会把所有的文字、图片、声音、视频变成简单的1和0,后面就是电路里的电信号,它们是计算机如何输入、存储、处理和输出信息的核心。
计算机中数据的显示其实是对二进制数解码后的,计算机中数据的存储的实际是经过指定编码方式的二进制数。
PS:计算机中数据的存储和数据的还原(显示)是由编码和解码来完成的,编码是将数据转为二进制数,解码是将二进制数转为数据。
编码(Encoding):
编码是将数据从一种格式或字符集转换为另一种格式或字符集的过程,特别是转换为计算机可以理解和操作的二进制数(即比特序列)。编码可以应用于各种类型的数据,包括文本、图像、音频和视频等。例如,对于文本数据,我们可能会使用ASCII、UTF-8或UTF-16等编码标准将字符转换为二进制数;对于图像数据,我们可能会使用JPEG、PNG或BMP等编码算法将像素信息转换为二进制数据。
解码(Decoding):
解码是编码的逆过程,即将二进制数转换回原始数据格式或字符集。当计算机需要读取或显示存储的数据时,它会进行解码操作以恢复数据的原始形式。同样地,解码可以应用于各种类型的数据。例如,当我们打开一个文本文件时,计算机会使用与编码时相同的字符集(如UTF-8)将文件中的二进制数解码为可读的字符;当我们播放一个视频文件时,计算机会使用与编码时相同的解码算法将文件中的二进制数据解码为帧序列,并将其呈现为动态图像。
相关文章:
计算机二进制表示和存储各种数据
目录 计算机二进制是什么 计算机中二进制数作用 不同数据的表示和存储 数字 文字 图片 音频 视频 计算机的中数据的显示和存储 计算机二进制是什么 计算机二进制数:计算机里存储的一切都是以二进制的0和1来表示。二进制是计算机使用的数字编码系统&#x…...

玩机社区 - 2024年最美社区源码开源
玩机社区 - 2024年最美社区源码开源 教程源码文档都内置到压缩包了 https://pan.baidu.com/s/1xwcscTne-JMbmKEntiuAuA?pwd78oi...
Linux系统——面试题分享
目录 1.现在给你三百台服务器,你怎么对他们进行管理? 2.简述 raid0 raid1 raid5 三种工作模式的工作原理及特点 2.1RAID 0 ——可以是一块盘和 N 个盘组合 2.2RAID 1 ——只能2块盘,盘的大小可以不一样,以小的为准 2.3RAID 5 …...

谈恋爱没经验?那就来刷谈恋爱经验宝宝吧
❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。2022年度博客之星评选TOP 10🏆,Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作…...

element-ui输入框和多行文字输入框字体不一样解决
element-ui的type"textarea"的字体样式与其他样式不同 <el-input type"textarea"></el-input> <el-input ></el-input>设置: .el-textarea__inner::placeholder {font-family: "Helvetica Neue", Helvetic…...

(Java企业 / 公司项目)配置Linux网络-导入虚拟机
公司给了我一个IP地址 ,提供了一个虚拟机或者自己搭建虚拟机,还有提供登录的账号密码 可以查看我之前的文章 VMware Workstation Pro 17虚拟机超级详细搭建(含redis,nacos,docker, rabbitmq,sentinel&…...

java的unsafe
在Java中,sun.misc.Unsafe 是一个强大且危险的类,它提供了一些直接操作内存、对象和线程的底层功能。这个类通常不鼓励普通开发者使用,因为它绕过了Java语言的一些安全性和内存管理机制,可能会导致难以追踪的错误和安全漏洞。 Un…...

起底震网病毒的来龙去脉
2010年,震网病毒被发现,引起世界哗然,在后续的10年间,陆陆续续有更多关于该病毒的背景和细节曝光。今年,《以色列时报》和《荷兰日报》又披露了关于此事件的更多信息,基于这些信息,我们重新梳理…...

[杂项]优化AMD显卡对DX9游戏(天谕)的支持
目录 关键词平台说明背景RDNA 1、2、3 架构的显卡支持游戏一、 优化方法1.1 下载 二、 举个栗子(以《天谕》为例)2.1 下载微星 afterburner 软件 查看游戏内信息(可跳过)2.2 查看D3D9 帧数2.3 关闭游戏,替换 dll 文件2…...

服务器没有图形界面没有显示器怎么办
可以用vnc。 vnc是开元的。什么是vnc? 使用vnc 下载vnc和vncserver命令。 每生成一个图形界面就叫做开启session会话。 vnc相关命令: start a new session: vncserver。 如果没有会话,一般从:1开始 端口5901 vncserver :2 #指定会话为:2 端…...

标准化软件实施方案(直接套用即可)
软件实施方案 二、 项目介绍 三、 项目实施 四、 项目实施计划 五、 人员培训 六、 项目验收 七、 售后服务 八、 项目保障措施 软件开发全套资料获取:(本文末个人名片也可直接获取)软件开发全套资料_数字中台建设指南-CSDN博客 软件产品&am…...

云和恩墨海外首秀在吉隆坡召开的2024中国智能科技与文化展览会
作为中马建交50周年官方重点推荐的活动之一,2024中国智能科技与文化展览会(第四届)于5月20至21日在毗邻吉隆坡双子塔的吉隆坡国际会展中心举办。本次展览会获得马来西亚科学技术创新部、马来西亚通讯部、中国驻马来西亚大使馆和马来西亚中华总…...
什么是react
React 是一个用于构建用户界面的 JavaScript 库,由 Facebook(现在的 Meta)开发和维护。它首次发布于2013年,并迅速成为最受欢迎的前端库之一。React 的主要目标是提供一种高效、灵活的方式来构建用户界面,特别是在大型…...

EPIC免费领取《骑士精神2》 IGN9分神作骑士精神2限时免费领
EPIC免费领取《骑士精神2》 IGN9分神作骑士精神2限时免费领 最近Epic一直为玩家们送出各种游戏,从《龙腾世纪审判》到《模拟农场22》,而就在今天,epic又为玩家们送出了IGN评分9分高分的骑士精神2.这款游戏,该游戏是一款由Tripwir…...

【Linux】icmp_seq=1 Destination Host Unreachable
执行ping 命令提示:From 192.168.XX.XX icmp_seq1 Destination Host Unreachable 这个错误消息通常表示以下几种情况之一: 网络连接问题:目标主机可能没有连接到网络,或者网络中的某个路由器无法将数据包转发到目标主机。 目标主…...
java性能优化
系列文章目录 文章目录 系列文章目录前言一、Java后端服务接口性能优化建议1.Java后端服务接口性能优化建议2.如何避免大量创建对象 二、使用步骤1.引入库2.读入数据 前言 提示:这里可以添加本文要记录的大概内容: 一、Java后端服务接口性能优化建议 …...

Apache JMeter操作
中文-新建组配置 测试计划界面介绍 异常信息 右上角那个小三角可以看到jemter的执行信息,如果你的压测执行不了可以去里面看看一般是报错了 用户自定义变量 可以在这里配置压测的全局变量,这样我们在使用的时候就不用传具体的值,传变量的…...

el-table 划入划出方法
<template><div><el-table :data"tableData" style"width: 100%" cell-mouse-enter"handleMouseEnter" cell-mouse-leave"handleMouseLeave"><el-table-column prop"ddd" label"日期2" widt…...
Todesk无法登录,提示服务器断开连接。(已解决)
坐标福建,近一两个月todesk手机端均无法登录,尝试卸载重装,更新等,均无效。也没搜索到有效的解决方案,今天去看了商店的低星评论,发现是针对福建地区的服务器“维护”,考虑到近期复杂的国际形势…...
NDIS小端口驱动(六)
消息信号中断 (MSI) 提供了网络设备及其微型端口驱动程序可以使用的传统基于线路的中断的替代方法。 从 Windows Vista 开始,操作系统支持两种类型的 MSI:PCI V2.2 MSI 和 PCI V3.0 MSI-X。 支持 MSI-X 的微型端口驱动程序可以指定 中断相关性ÿ…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...