01. 二进制原理

news2024/11/18 8:51:55

道家阴阳启发了莱布尼茨提出二进制!

1. 为什么是二进制?

1.1 二进制与硬盘(磁盘)

硬盘也叫磁盘,它内部是排列整齐的一个个小磁体。

磁盘上面有“电刷”,磁盘可以转动,“电刷”也可以上下移动,过程中“电刷”会刷过每个小磁体,可以知道磁体是否有磁性,并且电刷会放电来控制小磁体是否有磁性。

“电刷”刷过磁盘中一小段,得到上面排列整齐的小磁体的磁性顺序组合,我们假设有磁性用1表示,无磁性用0表示,假如得到 01100001(8个小磁体),那它代表什么意思呢?

8个小磁体的是否有磁性总共有28=256种可能, 从0000000011111111,假如我们提前定义好这256种每个排序顺序代表的含义,那么就知道01100001代表着什么了,事实上早在计算机刚出来的时候就已经定义好了,那就是ASCII码,通过查询ASCII码表知道01100001代表的是小写a

1.2 二进制与集成电路

IC是集成电路(Integrated Circuit)的简称。

如果集成电路使用的电源电压为+5V,那么引脚状态就只有0V和+5V。

我们将 +5V电压(高电压)表示1,0V电压(低电压)表示0。

如下集成电路的8个引脚输出(或输入)电压分别为0V、+5V、+5V、0V、0V、0V、0V、+5V,用01表示就是01100001,查询ASCII表就知道它表示的就是输出(或输入)字母a。

在我们的数以亿计的电子元件中,都是通过高低电压的输入或输出传递二进制信息的。

1.3 二进制与信号传输

信号是通过波传递的,包括我们用的4G/5G网络、WIFI、广播、蓝牙等等都是通过波传递信号,只是他们用的频段不一样。

包括声音也是一种我们人耳可以听到的波。

假如我们接收到这样一段波形,波峰表示1,波谷表示0,这一段波就是01100001,查询ASCII表就知道它表示的字母a。

实际中通过波传递信号非常复杂,波有正弦波、方波、脉冲等,传输中还需要调制解调等,这里大概了解一下波传输信号与二进制关系就行了!

现在知道了为什么是二级制?因为集成电路中通过高低电压来传递信息,磁盘中通过磁性有无来存储数据,信号通过波峰波谷来传输。

2. 比特与字节

2.1 比特与字节

二进制位也叫比特位,一个二进制数也叫做一个比特,英文就是bit。

8位二进制数被称为一个字节(Byte)。

字节是最基本的信息计量单位。比特位是最小单位,字节是基本单位。内存和磁盘都使用字节单位来存储和读写数据,使用位单位则无法读写数据。因此,字节是信息的基本单位。

2.2 百兆网速的实际下载速度

营业厅说的他们的下载网速达到100兆,为啥你实际下载速度只有10多兆?因为营业厅说的下载网速单位是bit,而实际上下载速度只会以Byte计量。 100bit = 12.5Byte。

2.3 二进制的16进制表示法

如果用二进制01来表示字节会很繁琐,更多情况下我们会用
两个16进制数表示一个字节,第一个16进制数表示前4位二进制数,第二个16进制数表示后四位二进制数。如下:

  • 01100001用16进制表示是61。
  • 11110001用16进制表示是F1。

3.进制转换

3.1 十进制转二进制

将一个十进制数转换成二进制数,可以通过模2法:

不断把十进制数除以2,直到商为0为止,每一步得到的余数即为二进制数的每一位(由下往上排列)。例如,将十进制数13转换成二进制数的过程如下所示:

因此,13的二进制表示是1101。

3.2 二进制转十进制

将一个二进制数转换成十进制数,可以通过以下方法实现:将每一位上的二进制数按权相加即可。例如,将二进制数1101转换成十进制数的过程如下所示:

因此,1101的十进制表示是13。

3.3 十进制转字节

将一个十进制数转换成一个字节,可以直接将十进制数转换成对应的二进制数,然后在不够8位的情况下在左侧填充0,直到形成一个8位二进制数。例如,将十进制数47转换成字节的过程如下所示:

  • 47的二进制表示是00101111
  • 在左侧填充0,形成一个8位二进制数:00101111

因此,47的字节表示是00101111。

3.4 字节转十进制

将一个字节转换成十进制数,可以直接将字节转换成对应的二进制数,然后按权展开,计算得到十进制数。例如,将字节11001101转换成十进制数的过程如下所示:

因此,11001101的十进制表示是201。

4. 字节单位

4.1 换算公式

手机上的128g到底代表什么?

要知道手机上的128g是什么含义?

还需要掌握单位换算公式

  • 1g=1024m(兆) (210=1024)

  • 1m=1024k

  • 1k=1024Byte(字节)

  • 1Byte = 8bit(比特位/二进制位)

4.2 128g可以存多少张照片

手机存储空间128g就表示手机可以存储 128*1024*1024*1024个字节,也就是 128*1024*1024*1024*8个二进制数。如果一张照片大小是10m(兆),这已经是很大的一张照片了,那么128g可以存放128*1024/10=13107张照片,一万三千多张照片。

4.3 程序员说的10K薪资

程序员说的10K薪资要比普通人多240元。

5. 最后

5.1 破译一段二进制数

这里给出一段二级制数
01101000 01100101 01101100 01101100 01101111
(5个字节),已知它的的编码方式是ASCII码,那你可以知道它表达什么意思吗?

5.2 汉字需要几个字节编码

ASCII编码是最简单的编码方式,只需要1个字节(8位),用2^8=256种表示英文字母和符号的确够了,但是中文有那么多汉字怎么办呢?

存储汉字时,字符编码不同,汉字所占用的字节数也就不同。在 GBK字符编码下,一个汉字占用2个字节。而在 UTF-8 字符编码下,一个汉字占用3个字节。

6. 其它

6.1 ASCII码对照表

ASCII码是由美国信息交换标准委员会(American Standard Code for Information Interchange,简称ASCII)于1963年制定的。

关注微信公众号:“小虎哥的技术博客”。

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

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

相关文章

Python 带参数的装饰器

首先我们定义一个可以打印日志的装饰器: def log(func):def wrapper(*args, **kwargs):print(call %s(): % func.__name__)return func(*args, **kw)return wrapper它接受一个函数作为输入,再返回一个函数。我们使用一下这个装饰器 log def now():prin…

【esp32】解决以太网+mqtt堆栈溢出问题 报错 no mem for receive buffer

本文主要记录了 esp32 + 以太网 +mqtt 功能时遇到的堆栈溢出的情况,千里之堤毁于蚁穴,开发过程的不细心导致多付出了一天多的时间,记录于此,共勉 📋 个人简介 💖 作者简介:大家好,我是喜欢记录零碎知识点的小菜鸟。😎📝 个人主页:欢迎访问我的 Ethernet_Comm 博…

一文看懂DETR(二)

训练流程 1.输入图像经过CNN的backbone获得32倍下采样的深度特征; 2.将图片给拉直形成token,并添加位置编码送入encoder中; 3.将encoder的输出以及Object Query作为decoder的输入得到解码特征; 4.将解码后的特征传入FFN得到预测特…

Rethinking the Role of Demonstrations: What Makes In-Context LearningWork?

背景 这篇论文主要验证了prompt demos对模型的作用是什么,主要几个方面的影响: 1.prompt demo的input和label的映射关系对结果影响非常小,模型没有从mapping关系中学到太多信息。这是比较反直觉的 2.模型从input输入的数据空间和label输出的…

VR全景与家居行业碰撞在一起,会迸发怎样的火花?

元宇宙的热度一直在持续,由于前几年疫情反复,很多人只能居家办公,这也让很多线下实体行业非常难做,元宇宙的兴起可以带动线下行业把生意做起来,那么家居行业、元宇宙、VR全景这些元素碰撞在一起,会迸发出怎…

从Instagram到TikTok:利用社交媒体平台实现业务成功

自 2000年代初成立和随后兴起以来,社交媒体一直被大大小小的品牌用作高度针对性的营销工具,自 Facebook推出近二十年以来,这些网站继续彻底改变企业处理广告的方式。 在这篇博文中,我们将讨论订阅企业应该如何从整体上对待社交媒…

秋云qiun chart 使用echart配置格式化柱形图数据

dataLabel数据文字格式化 <!-- seriesTemplate是config-echarts.js中对应图表类型定义好的series模板 &#xff0c;如果每个series的formatter都不一样&#xff0c;则format需要定义在chartData.series中&#xff0c;不能使用seriesTemplate --> <!-- formatter…

Java 面试 - Redis

Redis Redis 是基于键值对的非关系型数据库。Redis 拥有string、hash、list、set、zset等多种数据结构, redis具有惊人的读写性能, 其优秀的持久化机制是的它在断电和机械故障时也不会发生数据丢失, 可以用于热点数据存放, 还提供了键过期、发布订阅、食物、流水线、LUA脚本等多…

在node项目中通过jsencrypt实现内容加密

上来肯定先引入第三方依赖 npm install jsencrypt然后 我们创建一个js文件 叫 rsaEncrypt.js 参考代码如下 import JSEncrypt from jsencrypt/bin/jsencrypt.min// 密钥对生成 http://web.chacuo.net/netrsakeypairconst publicKey MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k…

echarts的click事件

目录 前言 一、click事件 前言 在使用echarts的过程中&#xff0c;最常用的则是不同系列所对应的click返回参数的不同 一、click事件 在以下图中&#xff0c;其实是两个不同系列的数据&#xff0c;一个是图中的钟表&#xff0c;一个是下面的图 const option {grid: {left: …

Visual Studio软件_MSC_VER值(MSVC编译器版本)的获取方法

本文介绍查看Visual Studio软件_MSC_VER值的方法。 _MSC_VER是微软公司推出的C/C 编译器——MSVC编译器的一个内置宏&#xff0c;其值表示当前Visual Studio软件中MSVC编译器的具体版本。不同的Visual Studio软件版本对应着不同的MSVC编译器版本——无论是不同发布年份的版本&…

RT-Thread程序内存分布

一般MCU包含的存储空间有&#xff1a;片内Flash与片内RAM&#xff0c;RAM相当于内存&#xff0c;Flash相当于硬盘。 编译器会将一个程序分类分为好几个部分&#xff0c;分别存储在MCU不同的存储区。 Keil工程在编译完之后&#xff0c;会有相应的程序占用的空间提示信息。 lin…

螺旋矩阵、旋转矩阵、矩阵Z字打印

螺旋矩阵 #include <iostream> #include <vector> void display(std::vector<std::vector<int>>&nums){for(int i 0; i < nums.size(); i){for(int j 0; j < nums[0].size(); j){std::cout<<nums[i][j]<< ;}std::cout<<…

【SpringSecurity】八、集成图片验证码

文章目录 1、生成图片验证码2、创建验证码过滤器3、将过滤器加入SpringSecurity过滤链4、修改登录页 SpringSecurity是通过过滤器链来完成的&#xff0c;接下来的验证码&#xff0c;可以尝试创建一个过滤器放到Security的过滤器链中&#xff0c;在自定义的过滤器中比较验证码。…

Linux系统下Web文件系统搭建

背景 为了方便和协作者共享文件和方便文件统一管理及下载&#xff0c;比如分享API文档&#xff0c;因此搭建一个简易的基于Apache服务的Web文件系统&#xff0c;使用浏览器进行文件访问及下载。 部署Apache服务器 本文的linux开发环境是Ubuntu 18.04 安装 sudo apt instal…

Collections和CollectionUtils集合操作

0.引入依赖 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><version>4.4</version> </dependency> 一.Collections用法&#xff1a; 01、排序操作 reverse(List list)…

C++面试题(丝)-计算机网络部分(1)

目录 1计算机网络 53 简述epoll和select的区别&#xff0c;epoll为什么高效&#xff1f; 54 说说多路IO复用技术有哪些&#xff0c;区别是什么&#xff1f; 55 简述socket中select&#xff0c;epoll的使用场景和区别&#xff0c;epoll水平触发与边缘触发的区别&#xff1f;…

学术加油站|基于端到端性能的学习型基数估计器综合测评

编者按 本文系东北大学李俊虎所著&#xff0c;也是「 OceanBase 学术加油站」系列第 11 篇内容。 「李俊虎&#xff1a;东北大学计算机科学与工程学院在读硕士生&#xff0c;课题方向为数据库查询优化&#xff0c;致力于应用 AI 技术改进传统基数估计器&#xff0c;令数据库选…

第五章 树与二叉树 五、哈夫曼树(定义与构造方法),哈夫曼编码

一、带权路径长度 1.结点的权:有某种现实含义的数值&#xff08;如:表示结点的重要性等&#xff09; 2.结点的带权路径长度:从树的根到该结点的路径长度(经过的边数&#xff09;与该结点上权值的乘积。 3.树的带权路径长度:树中所有叶结点的带权路径长度之和。&#xff08;W…

740914L、740928LD、740912D插头式比例控制线圈放大器

740912、740912D、740912L、740912LD 740914、740914D、740914L、740914LD 740924、740924D、740924L、740924LD 740928、740928D、740928L、740928LD 770212、770214、770214N、770223 一般情况下选用的线圈&#xff0c;在工作的工程中&#xff0c;一般是不可能发生问题的…