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

[计算机科学#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.xdnf.cn/news/202825.html

相关文章:

  • Linux虚拟机无法重启网络
  • 4G FS800DTU上传图像至巴法云
  • DDD是什么?电商系统举例
  • 今日行情明日机会——20250428
  • NdrpGetAllocateAllNodesContext函数分析之三个内存区域的联系
  • 每日一题(12)TSP问题的贪心法求解
  • params query传参差异解析及openinstall跨平台应用
  • EMC isilon/PowerScale 如何收集日志
  • 【SAP ABAP 获取采购申请首次审批时间】
  • 【LLM开发】Unigram算法
  • 可编程控制器应用
  • 瞄定「舱驾融合」,黑芝麻智能的智驾平权「芯」路径
  • 大数据应用开发与实战(1)
  • Git技巧:Git Hook,自动触发,含实战分享
  • 【C到Java的深度跃迁:从指针到对象,从过程到生态】第四模块·Java特性专精 —— 第十六章 多线程:从pthread到JMM的升维
  • Atcoder Help 有关Atcoder 的介绍-1 涨分规则
  • 嵌入式开发学习日志Day11
  • GESP2024年9月认证C++八级( 第二部分判断题(6-10))
  • 在Linux系统中安装Anaconda的完整指南
  • (001)Excel 快捷键
  • 【RabbitMQ消息队列】(二)交换机模式详解
  • MTKAndroid12-13-开机应用自启功能实现
  • 【差分隐私】目标扰动机制(Objective Perturbation)
  • Android平台Unity引擎的Mono JIT机制分析
  • 前端如何使用Mock模拟数据实现前后端并行开发,提升项目整体效率
  • 计算机视觉进化论:YOLOv12、YOLOv11与Darknet系YOLOv7的微调实战对比
  • 单片机-89C51部分:7、中断
  • ZYNQ-自定义呼吸灯IP核以及PS-PL数据发送接收
  • 【Java学习笔记】传参机制
  • Vue 2 中 Vue 实例对象(vm)的所有核心方法,包含完整示例、使用说明及对比表格