惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - Franky
U
Unit 42
有赞技术团队
有赞技术团队
P
Proofpoint News Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
博客园 - 【当耐特】
罗磊的独立博客
B
Blog
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
爱范儿
爱范儿
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
Microsoft Azure Blog
Microsoft Azure Blog
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MyScale Blog
MyScale Blog
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
S
SegmentFault 最新的问题
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
L
LangChain Blog
T
Tailwind CSS Blog
WordPress大学
WordPress大学
GbyAI
GbyAI
Blog — PlanetScale
Blog — PlanetScale
V
Visual Studio Blog
Vercel News
Vercel News
Recent Announcements
Recent Announcements
博客园 - 司徒正美
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cybersecurity and Infrastructure Security Agency CISA
L
LINUX DO - 热门话题
Security Latest
Security Latest
T
Threat Research - Cisco Blogs

茗辰原

开源某克自动签到领取免费空间项目 Astro Gyoza 内容标签使用指南 内容标签使用指南 | 茗辰原 利用AI从Hexo迁移到Astro | 茗辰原 Cloud Photography | Galleries | 茗辰原 博客周浏览量又突破了! | MingCY 博客周浏览量又突破了! | 茗辰原 博客周浏览量又突破了! Twikoo配置图床S3/R2 抖音推流助手工具 收到"好站网"的抱枕了! 开了VPN但真实IP被WebRTC泄露 5.10母亲节 | MingCY 5.10母亲节 5.10母亲节 18成人礼 TheOne陪伴接入WX Bing免费送B站月卡 让AI替你SSH进服务器,5分钟搞定故障排查! 基于Cloudflare R2搭建免费云盘 关于我的近视手术 你真的会刷牙吗? Urban Photography — Layered City | Galleries | MingCY 内网穿透监控软件TailScale AI控制手机 Infinicloud Infinicloud | 茗辰原 实用网页推荐第一期 你的IP真的安全吗 抖音热门温柔提醒 我苦逼高三生活 LibreTV利用CF搭建 BLOB图床使用Vercel搭建 | MingCY 关于我最近在忙什么?! | MingCY 琥珀扫描 三行代码,成功破解(秒杀)希沃管家冰点还原 | MingCY 当今生活用品到底如何选? | MingCY 周受资:从新加坡少年到全球科技领袖的传奇之路 | MingCY 最美的妈妈 | MingCY 只要插入一根铁丝就能免费看电视 | MingCY 快速睡眠,解决困倦 | MingCY Escrcpy--手机投屏到电脑工具! | MingCY 寒假起航!老家畅游! | MingCY 新年快乐 | MingCY 新年快乐 | 茗辰原 研究性学习论文总结 | MingCY 强迫性思维😣 | MingCY 奋进青年奖状! | MingCY AI挑唆人类自杀? | MingCY 腹肌养成记 | MingCY Office-2025激活 | MingCY 震惊!AI塔罗牌 | MingCY TVBOX 配置两端通用 | MingCY 使用works制作随机图! | MingCY 获取QQ空间工具 | MingCY 获取QQ空间工具 | 茗辰原 五个人性心理实验 | MingCY 解锁全网安卓音乐 | MingCY 123云盘-下载工具 | MingCY Classlsand-班级课程表 | MingCY ODE多功能工具箱 | MingCY Hexo-添加音乐与视频 | MingCY Cloudflare上有趣的项目 | MingCY 所有应用广告通杀!! | MingCY 吾爱破解!鼠标录制酷! | MingCY 资源管理器一键修改了! | MingCY 安卓必备啊!语音起飞! | MingCY glary系统优化 | MingCY pdf修复工具 | MingCY 短视频视频批量下载! | MingCY 一个图片查地址----最强Aigeospy | MingCY win-文件查重 | MingCY 神奇应用!什么都能搜! | MingCY 取bilibili直连 | MingCY 绝版安卓工具箱?能有多强? | MingCY 神秘网站合集打开即用? | MingCY Vercel部署Typecho 博客 | MingCY 一挑四!全网SVIP无损音乐,随便下! | MingCY 什么竟然还有这样的神器? | MingCY 如何在 Gyoza 中使用图标? 计算机的基础知识 | MingCY 开往的礼物(纪念款) | MingCY 爱奇艺免费了? | MingCY C语言扫雷 | MingCY 免费域名整理 | MingCY 在文章中嵌入视频和代码 Gyoza 使用指南 Markdown 示例 PDF24工具箱 | MingCY 李跳跳复活版! | MingCY QQ主题全部免费使用? | MingCY 幻休 | MingCY GKD跳过广告 | MingCY ChatGPT-KEY的获取[无需手机号绑定] | MingCY ChatGPT-KEY的获取[无需手机号绑定] | 茗辰原
【计算机基础】关于进制 | MingCY
茗辰原 · 2024-03-22 · via 茗辰原

【计算机基础】关于进制

进制是什么 & 常见的进制

学计算机,那就肯定得懂一样东西——进制(哪怕你没有学过,多少也会懂点)

那进制是啥?

进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。 对于任何一种进制—X进制,就表示每一位置上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

百度百科

进制这玩意,说白了就是我们数数的一个方式,像啥十进制(大家都知道的)就是满十进一

那进制有啥呢?常见的进制有:

  • 十进制最常见的,对人来说最常用的
  • 二进制计算机里面用的,计算机的底层进制就是二进制,这是因为计算机是由逻辑电路组成的,而逻辑电路通常只有两个状态:开关的接通与断开,这两种状态正好可以用二进制的1和0表示。二进制是非常常见的,天生就与计算机有着紧密的关系,它正好能代表高低电平,开关的接通与断开,也与逻辑学中的真,假相吻合(布尔类型的True和False)
  • 八进制常见于计算机,经常用于简化二进制的计算,但用得也确实比较少
  • 十六进制也是计算机中经常使用的,经常用来表示存储器的地址,用得稍微比八进制多一点。八进制和十六进制只是为了简化二进制的存在的。在计算器底层中,是只能使用二进制的,但是二进制只有0和1,动不动就进位,导致二进制数的位数通常都很多,难以记录,所以经常使用八进制和十六进制来简化。
  • 为什么是十六进制和八进制来帮忙?而不是我们更加熟悉的十进制?原因很简单,十六进制的基数是16,八进制的基数是8,二进制的基数是2,十进制的基数是10。它们之中,16是2的4次方,8是2的3次方(立方),但10与2并没有什么整数次方的关系。

上面这些呢,都是我们日常能见到的进制

各个进制的特点

十进制的特点:

  • 简写:DEC
  • **特点:**满十进一
  • **计数 :**0、1、2、3、4、5、6、7、8、9(10、11、12…19、20…)到九了,但我们是满十进一,个位变成0,向十位进一,那下一位就是10。个位满十,向十位进一;十位满十,向百位进一……
  • **单位数字:**10个(0-9)

二进制的特点:

  • 简写:BIN
  • **特点:**满二进一
  • **计数:**0、1(10、11、100…)到一了,但我们是满二进一,个位变成0,向十位进一,那下一位就是10。个位满二,向十位进一;十位满二,向百位进一……
  • **单位数字:**2个(0、1)

八进制的特点:

  • 简写:OCT
  • **特点:**满八进一
  • **计数:**0、1、2、3、4、5、6、7、(10、11、12…)到七了,但我们是满八进一,个位变成0,向十位进一,那下一位就是10。个位满八,向十位进一;十位满八,向百位进一……
  • **单位数字:**8个(0-7)

十六进制的特点:

  • 简写:HEX
  • **特点:**满十六进一
  • **计数:**0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F(10、11、12……1A、1B)到9了,之后的数字不能是像10、11一样的两位数,所以之后的数字以A-F代替10-15。
  • **单位数字:**16个(0-F)

十进制与任意进制之间的互相转换

十进制转任意进制:

十进制转任意进制通常采用除基数,倒取余的办法,具体做法就是:把要转换的数除目标进制数的基数,直到整数变为0为止(下面以43转二进制为例)

43整除2,得21,余1

21整除2,得10,余1

10整除2,得5,余0

5整除2,得2,余1

2整除2,得1,余0

1整除2,得0,余1

把余数从下往上进行记录,得:101011

即43(10) =101011(2)

其它数,其它进制同理,只是十六进制要记得用A-F替换10-15

任意进制转十进制:

任意进制转十进制,一般用把二进制数按权展开、再相加的办法,举个例子(101011转十进制)

12^5 + 02^4 + 12^3 + 02^2 + 12^1 + 12^0

=32 + 0 + 8 + 0 + 2 + 1

=43

即:101011(2) = 43(10)

其它数,其它进制同理,只是十六进制要记得先把A-F替换成相应的10-15,再参与运算

十进制转任意进制(小数):

十进制小数转换成二进制小数采用 “乘2取整,顺序排列”法。下面以十进制转二进制(小数)为例:

具体做法是:先将整数部分与小数部分分开,整数部分直接转换成二进制数,小数部分的转换办法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。(原因是:有很多小数转换成二进制是无限小数,只能取舍,所以一般会设定一个精度,达到精度后就停止计算。)

例如(5.625转为二进制):

分成5、0.625

5转换成二进制是:101,先放一边

0.625*2 = 1.25,取整为1

0.25*2 = 0.5,取整为0

0.5*2 = 1,取整为1

顺着取整,得101

所以0.625(10) = 0.101(2)

所以5.625(10) = 101.625(2)

如果小数部分怎么乘都不为0的话,那就按之前规定的,算到精度要求为止。

例如:0.56转换为二进制(保留小数点后5位)

0.56*2 = 1.12,取整为1

0.12*2 = 0.24,取整为0

0.24*2 = 0.48,取整为0

0.48*2 = 0.96,取整为0

0.96*2 = 1.92,取整为1

……

所以,0.56(10) ≈ 0.10001(2)

任意进制转十进制(小数):

还是以二进制为例,二进制的小数转换为十进制主要是乘以2的负次方,从小数点后开始,依次乘以2的负一次方,2的负二次方,2的负三次方等。比如:0.101转换为十进制:

12^-1 + 02^-2 + 1*2^-3

=½ + 0 + 1/8

=0.625

所以,0.101(2) = 0.625(10)

进制转换的算法实现(Python)

Python 200行代码实现任意进制与十进制之间的互相转化-Abyss-博客