[计算机科学#4]:二进制如何塑造数字世界(0和1的力量)

[LOGO]:CoreKSets

           【核知坊】:释放青春想象,码动全新视野。          

            我们希望使用精简的信息传达知识的骨架,启发创造者开启创造之路!!!          


内容摘要 二进制是计算机世界的基石,数学是世界的基石(dog)。本文将简要介绍二进制基本运算,布尔运算,移位运算等,介绍了使用数字对事物进行编码表示。

关键词:二进制  二进制运算  二进制编码


其他相关文章:

[计算机科学#3]:布尔逻辑 (计算机数学基础)-CSDN博客

[计算机科学#1]:计算机的前世今生,从算盘到IBM的演变之路-CSDN博客

[计算机科学#2]:从继电器到晶体管的电子计算机发展史(庞然大物的进化)-CSDN博客

1.二进制运算


二进制与十进制之间的关系已经在上一篇文章讲解过,本段内容将介绍二进制运算法则。

1.1 基础运算

1.1.1 加法
  • 0 + 0 = 0

  • 0 + 1 = 1

  • 1 + 0 = 1

  • 1 + 1 = 10(逢二进一)

1.1.2 减法
  • 0 - 0 = 0

  • 0 - 1 =-1

  • 1 - 0 = 1

  • 1 - 1 = 0

1.1.3 乘法
  • 0 × 0 = 0

  • 0 × 1 = 0

  • 1 × 0 = 0

  • 1 × 1 = 1

1.1.4 除法

二进制除法类似于十进制除法,但更简单。基本规则是逐位相除,直到余数小于除数。

1011 ÷ 10 = 101...1 (11 ÷ 2 = 5...1)

1.2 逻辑(布尔)运算

1.2.1 逻辑与(AND)
  • 0 AND 0 = 0

  • 0 AND 1 = 0

  • 1 AND 0 = 0

  • 1 AND 1 = 1

1.2.2 逻辑或(OR)
  • 0 OR 0 = 0

  • 0 OR 1 = 1

  • 1 OR 0 = 1

  • 1 OR 1 = 1

1.2.3 逻辑非(NOT)
  • NOT 0 = 1

  • NOT 1 = 0

1.2.4 逻辑异或(XOR)
  • 0 XOR 0 = 0

  • 0 XOR 1 = 1

  • 1 XOR 0 = 1

  • 1 XOR 1 = 0

1.3 移位运算

1.3.1 左移(<<), 补0

左移一位相当于乘以2

 1011 << 1 = 10110
1.3.2 右移(>>)

右移一位相当于除以2(取整)

 1011 >> 1 = 101

1.4 原码|反码|补码

1.4.1 原码

原码是计算机中表示整数的一种最简单的方式,它直接用二进制表示数值的绝对值,并在最高位用一个符号位表示正负。

符号位:0表示正数;1表示负数;数值位,直接表示数值的绝对值。有两个表示零的值:00000000(正零)和 10000000(负零)。

1.4.2 反码

反码是对原码的一种改进,主要用于简化加法运算。反码的计算方法如下:

正数的反码:与原码相同。

负数的反码:将原码的数值位取反(0变1,1变0),符号位保持不变。

仍然有两个表示零的值:00000000(正零)和 11111111(负零)。

1.4.3 补码

补码是现代计算机中表示有符号整数的最常用方式。补码的计算方法如下:

正数的补码:与原码相同。

负数的补码:负数的补码是其反码加1。

只有一个表示零的值:00000000

2.常见计算机存储单位


在计算机中的数据的底层都是二进制,为了估计数据量的大小,于是规定了以下单位:

单位简称换算关系
bit1 bit
字节byte基本单位 8 bits
千字节KB1 KB = 1024 bytes
兆字节MB1 MB = 1024 KB = 1,048,576 bytes
吉字节GB1 GB = 1024 MB = 1,073,741,824 bytes
太字节TB1 TB = 1024 GB = 1,099,511,627,776 bytes
拍字节PB1 PB = 1024 TB = 1,125,899,906,842,624 bytes
艾字节EB1 EB = 1024 PB = 1,152,921,504,606,846,976 bytes

3.编码(数字标记)


        为什么需要编码?世界上的事物错综复杂,数量庞大,为了更好的在计算机中区分事物,我们使用数字对每个事物进行标记,这个标记的过程就叫做编码。例如一个在上课的教室里有1名教师,30名学生。在计算机表格中我们可以直接为每个人分配一个数,由于人数是有限的,只需要31个数就能对所有人进行标记。这个数可以像一个表格:

二进制序号人物描述
000教师
001学生A
010学生B
011学生C
100学生D
101学生E
110学生F

4.Ascii码对照表


        ASCII码(美国信息交换标准代码)是一个基于英文字符的编码系统,用于将字符(字母、数字、符号等)映射为二进制数。以下是ASCII码表的部分内容,展示了一些常用的字符及其对应的十进制和二进制表示,总共128个字符。

十进制二进制字符十进制二进制字符十进制二进制字符
000000000NUL3200100000空格6401000000@
100000001SOH3300100001!6501000001A
200000010STX3400100010"6601000010B
300000011ETX3500100011#6701000011C
400000100EOT3600100100$6801000100D
500000101ENQ3700100101%6901000101E
600000110ACK3800100110&7001000110F
700000111BEL3900100111'7101000111G
800001000BS4000101000(7201001000H
900001001HT4100101001)7301001001I
1000001010LF4200101010*7401001010J
1100001011VT4300101011+7501001011K
1200001100FF4400101100,7601001100L
1300001101CR4500101101-7701001101M
1400001110SO4600101110.7801001110N
1500001111SI4700101111/7901001111O
1600010000DLE480011000008001010000P
1700010001DC1490011000118101010001Q
1800010010DC2500011001028201010010R
1900010011DC3510011001138301010011S
2000010100DC4520011010048401010100T
2100010101NAK530011010158501010101U
2200010110SYN540011011068601010110V
2300010111ETB550011011178701010111W
2400011000CAN560011100088801011000X
2500011001EM570011100198901011001Y
2600011010SUB5800111010:9001011010Z
2700011011ESC5900111011;9101011011[
2800011100FS6000111100<9201011100\
2900011101GS6100111101=9301011101]
3000011110RS6200111110>9401011110^
3100011111US6300111111?9501011111_

5.Unicode 编码


        Unicode 是一种国际通用的字符编码标准,旨在为世界上所有语言的字符提供统一的编码方案。它解决了传统编码(如ASCII、ISO-8859-1等)在处理多语言文本时的局限性,能够支持多种语言、符号和表情等。

Unicode 有多种编码形式,常见的有:

  • UTF-8:可变长编码,用1到4个字节表示一个字符。兼容ASCII,广泛用于互联网和文件存储。

  • UTF-16:可变长编码,用2或4个字节表示一个字符。在某些操作系统和编程语言中广泛使用。

  • UTF-32:固定长度编码,用4个字节表示一个字符。简单直接,但占用空间较大。

十六进制编码字符描述十六进制编码字符描述
U+0020空格U+00300数字0
U+0021!感叹号U+00311数字1
U+0022"双引号U+00322数字2
U+0023#井号U+00333数字3
U+0024$美元符号U+00344数字4
U+0025%百分号U+00355数字5
U+0026&与号U+00366数字6
U+0027'单引号U+00377数字7
U+0028(左括号U+00388数字8
U+0029)右括号U+00399数字9
U+002A*星号U+003A:冒号
U+002B+加号U+003B;分号
U+002C,逗号U+003C<小于号
U+002D-减号U+003D=等号
U+002E.句号U+003E>大于号
U+002F/斜杠U+003F?问号
U+00300数字0U+0040@At符号
U+00311数字1U+0041A大写字母A
U+00322数字2U+0042B大写字母B
U+00333数字3U+0043C大写字母C
U+00344数字4U+0044D大写字母D
U+00355数字5U+0045E大写字母E
U+00366数字6U+0046F大写字母F
U+00377数字7U+0047G大写字母G
U+00388数字8U+0048H大写字母H
U+00399数字9U+0049I大写字母I
U+0040@At符号U+004AJ大写字母J
U+0041A大写字母AU+004BK大写字母K
U+0042B大写字母BU+004CL大写字母L
U+0043C大写字母CU+004DM大写字母M
U+0044D大写字母DU+004EN大写字母N
U+0045E大写字母EU+004FO大写字母O
U+0046F大写字母FU+0050P大写字母P
U+0047G大写字母GU+0051Q大写字母Q
U+0048H大写字母HU+0052R大写字母R
U+0049I大写字母IU+0053S大写字母S
U+004AJ大写字母JU+0054T大写字母T
U+004BK大写字母KU+0055U大写字母U
U+004CL大写字母LU+0056V大写字母V
U+004DM大写字母MU+0057W大写字母W
U+004EN大写字母NU+0058X大写字母X
U+004FO大写字母OU+0059Y大写字母Y
U+0050P大写字母PU+005AZ大写字母Z
U+0051Q大写字母QU+005B[左方括号
U+0052R大写字母RU+005C\反斜杠
U+0053S大写字母SU+005D]右方括号
U+0054T大写字母TU+005E^上箭头
U+0055U大写字母UU+005F_下划线
U+0056V大写字母VU+0060`重音符
U+0057W大写字母WU+007B{左大括号

文章总结


        本文主要介绍了计算机中二进制基本运算规则,常见的计算机存储单位,编码方式。

        感谢阅览,如果你喜欢该内容的话,可以点赞,收藏,转发。由于 Koro 能力有限,有任何问题请在评论区内提出,Koro 看到后第一时间回复您!!!


其他精彩内容:


参考内容:

Crash Course Computer Science(Y-T)        

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JUC中各种锁机制的应用和原理及死锁问题定位

JUC中各种锁机制的应用和原理及死锁问题定位 在互联网大厂Java求职者的面试中&#xff0c;经常会被问到关于JUC&#xff08;Java Util Concurrency&#xff09;中的各种锁机制及其应用和原理的问题。本文通过一个故事场景来展示这些问题的实际解决方案。 第一轮提问 面试官&…

配置Ubuntu18.04中的Qt Creator为中文(图文详解)

配置Qt Creator为中文 1、前言2、先设置Ubuntu系统语言为中文3、配置Qt Creator中文环境2.1 IBus输入法&#xff08;方法一&#xff09;2.2、测试IBus输入法2.21IBus输入法终端中测试2.2.2IBus输入法Qt Creator中测试 2.3、Fcitx输入法&#xff08;方法二&#xff09;2.3.1安装…

高性能服务器配置经验指南3——安装服务器可能遇到的问题及解决方法

文章目录 1、重装系统后VScode远程连接失败问题2、XRDP连接黑屏问题1. 打开文件2. 添加配置3. 重启xrdp服务 3、VScode远程免密连接问题4、Vim编辑文件时出现不同用户冲突编辑的问题 在完成 服务器基本配置和 深度学习环境准备后&#xff0c;大家应该就可以正常使用服务器了&…

PyQt6基础_QThread

目录 前置 代码&#xff1a; 运行 正常运行 QThread运行报错 视频 前置 1 PySide6.QtCore.QThread - Qt for Python QThread官方文档 2 长时间任务可以放到QThread中执行&#xff0c;避免占用主线程导致界面卡顿无法操作 代码&#xff1a; import traceback,sys fro…

Spring Boot 应用运行指南

&#x1f680; Spring Boot 应用运行指南 ⚙️ 使用 Maven &#x1f527; 运行命令 $ mvn spring-boot:run✨ 启动效果 . ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_…

jeecgboot 3.8.0 集成knife4j问题一文解决

问题描述: ​ 在cloud环境下,若应用系统配置了context-path,则无法通过网关进入后台接口管理系统 原因分析: ​ 查看请求信息发现少拼接了系统的context-path,导致无法正确请求到数据。直接使用正确的地址可以正常通过网关访问。故此确定为集成knife4j的问题。 解决办法…

【Flutter】Flutter + Unity 插件结构与通信接口封装

关联文档&#xff1a;【方案分享】Flutter Unity 跨平台三维渲染架构设计全解&#xff1a;插件封装、通信机制与热更新机制—— 支持 Android/iOS/Web 的 3D 内容嵌入与远程资源管理&#xff0c;助力 XR 项目落地 —— 支持 Android/iOS/Web 的 3D 内容嵌入与远程资源管理&…

推荐 1 款 9.3k stars 的全景式开源数据分析与可视化工具

Orama 是一个开源的数据分析与可视化项目&#xff0c;由askorama团队开发和维护。该项目旨在为用户提供一套强大而易用的工具集&#xff0c;帮助用户轻松处理和理解大规模数据&#xff0c;通过创建交互式且引人入胜的数据可视化图表&#xff0c;揭示隐藏在数据背后的深层次洞察…

关于windows API 的键鼠可控可测

相关函数解释 GetAsyncKeyState 是 Windows API 中的一个函数&#xff0c;用于判断某个虚拟键是否被按下。GetAsyncKeyState(VK_ESCAPE) 专门用于检测 Esc 键的状态。下面为你详细介绍其用法&#xff1a; 函数原型 cpp SHORT GetAsyncKeyState( int vKey ); 参数 vKey&a…

vs 安装完番茄助手visual assist 后 菜单栏不显示

vs 安装完番茄助手visual assist 后 菜单栏不显示 出现原因解决办法&#xff1a; 出现原因 vs安装完番茄助手后&#xff0c;不显示。主要原因是之前安装过&#xff0c;但是试用过期了&#xff0c;卸载后重新安装然后替换破解版的dll 导致的。 解决办法&#xff1a; 关闭vs软件…

论文导读 - 基于边缘计算、集成学习与传感器集群的便携式电子鼻系统

基于边缘计算、集成学习与传感器集群的便携式电子鼻系统 原论文地址&#xff1a;https://www.sciencedirect.com/science/article/abs/pii/S0925400522015684 引用此论文&#xff08;GB/T 7714-2015&#xff09;&#xff1a; WANG T, WU Y, ZHANG Y, et al. Portable electr…

EasyCVR视频汇聚平台助力大型生产监控项目摄像机选型与应用

一、方案背景 在300路大型生产监控项目中&#xff0c;由于生产环境复杂多样&#xff0c;涵盖室外厂区、大型车间、室内办公区域等不同场景&#xff0c;单一类型的摄像机难以满足全方位、精细化的监控需求。EasyCVR作为一款功能强大的视频融合管理平台&#xff0c;具备灵活的视…

测试用例介绍

文章目录 一、测试用例基本概念1.1 测试用例基本要素 二、测试用例的设计方法2.1 基于需求的设计方法2.2 等价类2.3 边界值2.4 错误猜测法2.6 场景设计法2.7 因果图2.5 正交排列 三、综合&#xff1a;根据某个场景去设计测试用例&#xff08;万能公式&#xff09;四、如何使用F…

基于蓝牙Beacon人员导航方案

基于蓝牙Beacon人员导航方案 一、室内定位市场痛点与技术选择 大型商场&#xff08;单层超2万㎡&#xff09;和医院&#xff08;科室超200个&#xff09;的复杂空间中&#xff0c;传统GPS信号衰减超90%&#xff0c;用户平均寻路耗时10-15分钟&#xff0c;30%购物决策因“找店…

使用vue3 脚手架创建项目

1.创建项目 并 运行 1.1 创建项目 vue create abcd 1.2 运行 创建好项目后&#xff0c;命令行会提示你运行项目 npm run serve 2.介绍各个目录 node_modules : 项目依赖包&#xff0c;其中包括很多基础依赖&#xff0c;自己也可以根据需要安装其他依赖 assets文件夹&a…

跨语言哈希一致性:C# 与 Java 的 MD5 之战?

在跨平台或异构系统集成的场景中&#xff0c;我们经常需要在不同的编程语言之间交换数据或验证数据一致性。MD5 作为一种广泛使用的哈希算法&#xff0c;就常常扮演着生成唯一标识或校验数据完整性的角色。然而&#xff0c;不少开发者可能会遇到这样一个令人困惑的问题&#xf…

基于RuoYi的WMS仓库管理系统源码级解决方案

基于RuoYi的WMS仓库管理系统源码级解决方案 项目地址 一、系统简介 WMS&#xff08;Warehouse Management System&#xff09;仓储管理系统是现代物流管理的核心系统&#xff0c;通过对仓库业务的精细化管理&#xff0c;实现入库、出库、库存等环节的高度自动化和智能化。 系…

研究:大模型输出一致性:确定性与随机性的场景化平衡

大模型在相同输入下的输出是否一致,本质上取决于其设计目标、任务性质以及技术实现方式。这一问题需要从技术原理、应用场景、用户需求三个维度进行深度分析: 一、技术实现:确定性与随机性的平衡 模型架构的确定性基础 大模型的核心参数(如权重矩阵)在训练完成后是固定的…

青年座谈会的读书汇报

今天&#xff0c;单位组织了一个五四青年座谈会&#xff0c;我们室由于大家都在出差忙之类的&#xff0c;我必须要参加&#xff0c;还要我做一个汇报&#xff0c;我一新来的还没深入到研发工作中&#xff0c;于是决定写了一篇简单的读书笔记&#xff0c;再用deepseek润色一下&a…

RabbitMQ安装流程(Windows环境)

安装资料链接&#xff1a;https://download.csdn.net/download/ly1h1/90705840?spm1001.2014.3001.5503 代码案例链接&#xff1a;https://download.csdn.net/download/ly1h1/90706521 1.下载依赖&#xff0c;Downloads - Erlang/OTP 2.下载RabbitMQ安装包&#xff0c;In…