计算机基础知识 —— 进制(二进制、八进制、十进制、十六进制)
这是一个目录导航 点击 此链接 去学习 更多必须掌握的基础知识!
1、关于进制:
对于进制,我们都很熟悉,从小学开始就知道 1、2…9、10、11… 这就是十进制。 几进制就是逢几进1。
为什么全世界各地都从一开始就习惯使用 10 进制,很简单,因为我们有10个手指头,哈哈哈哈哈 直接数指头就行了!
那么对于计算机来说,它并没有手指,它处理数据是根据2进制来处理的! 二进制:010101…0101 。 那么为什么是 2进制 呢? 因为机器处理指令的硬件都是双态的,只要是涉及到数据的,那么就是 电位的 “高” 或 “低”,即二进制的 “1” 或 “0”。
在程序猿使用机器语言来编写程序的时候,二进制太麻烦,为了方便会使用 八进制 或 十六进制。谈到机器语言的话,跟十进制就没啥关系了!
编程语言中 进制的前缀:
上面说到了,开发常用进制是 八进制 或 十六进制,那么如果你输入 5 ,计算机怎么知道你输入的5 是八进制呢 还是 十六进制呢?这里就讲到了 进制前缀:
PYthon 有三个内置函数,可以将你传递给他们的十进制数字 转换为 八进制、十六进制、二进制…
bin() —— 二进制、oct() —— 八进制、hex() —— 十六进制。
前缀: 二进制:0b (数字0)
八进制:0o 或 0O (是数字0 和 字母小o 或 字母大O)
十进制:0D 或 0d (数字0)
十六进制:0x 或 0X(数字0) 或 使用后缀: H 表示!
进制表:
十进制 | 二进制 | 八进制 | 十六进制 |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
16 | 10000 | 20 | 10 |
17 | 10001 | 21 | 11 |
18 | 10010 | 22 | 12 |
… | … | … | … |
十进制 —> 二进制
在计算十进制 转换 二进制的时候,一般情况都选择除法,十进制的数 / 2 然后看余数 和 结果。因为不管怎么除 不管余数是几,最后除完都为 2/2=1,所以除了 0 以外,所有的二进制数的开头都为 1 !
十进制 | 二进制 | 规律 |
---|---|---|
0 | 0 | 无规律 |
1 | 1 | 无规律 |
2 | 10 | 2=2^1(2的1次方),0的个数 = 2 的几次方!1个0 就为 2的1次方 |
3 | 11 | 3=2+1,2 和 1 换成二进制数,并且 个+个,十位+十位 即可!1+10=11 |
4 | 100 | 4=2^2 ,2的2次方,所以有两个0;即为 100 |
… | … | … |
8 | 1000 | 8=2^3;所以就为 1000 |
懂了吧,其他的数 就分开两个数,用他们对应的 二进制数相加 可以得出!
二进制 —> 十进制 :
二进制数 转换 十进制数 也很简单!
eg: 二进制数 10010011 转换为 十进制数:
第一步:先将 二进制数拆分开 为: 10000000 、10000、10、1
10000000 有 7个 0,即为 2^7 = 128
10000 有 4个 0,即为 2^4 = 16
10 有 1个 0,即为 2^1 = 2
1 就为 1
最后相加: 128+16+2+1=147 !
使用 bc 命令 来自动转换:
如果你懒得算,可以使用 Linux 命令 中的 bc命令 —— 计算器!一进去默认是10进制!
问:如何输出 二进制的数字呢???
答:进去以后输入 : obase=2 即可 ! o 理解成 output;然后输入你要转换的十进制数字,然后摁回车即可转换!输入 quit 即可退出计算器,下次进入 输入 输出都是十进制数!
问:如何使用 bc 计算器 输入 二进制数 转换为 十进制数呢?
答:使用 ibase=2 即可; i 为 input ,刚好与 obase 对应 !当你输入 二进制以外的数的时候,它会自动返回错误码 : 3 !
同理:
十六进制 —> 十进制 : ibase=16,即可,默认输出就是十进制。
其他的也是这样,就不一 一列举了!
记得,默认的 ibase=10 ,obase=10 !
貌似 bc 只支持 十进制 与 二进制 八进制 十六进制 之间转换,bc 并不允许 二进制 转 八进制 或 十六进制。其他 进制 转也是不行的!
look:
哪里有错误,希望大佬可以多多提出,万分感激!
写作不易,对你有帮助话给个赞鼓励一下吧!
计算机基础知识 —— 进制(二进制、八进制、十进制、十六进制)相关推荐
- Python全栈[第二篇]:计算机基础知识-进制
进制 常见进制有二进制.八进制.十六进制 十进制逢十进一;十六进制逢十六进一;八进制逢八进一;二进制逢二进一 计算机只识别二进制数据,其基础运算是采用2进制 二进制 计算机中最小的存储单位是二进制位( ...
- 计算机基础知识 进制转换,计算机基础之进制转换详解
进制转换是个老问题了,今天恰巧看见.我详细的去分析下它.留一笔吧 二进制的范围是(0-1), 不包含2 八进制的范围是(0-7) ,不包含8 十六进制的范围是(0-15) ,不包含16 先讲十进制-- ...
- 计算机基础知识-进制的运算
1,进制的定义 进位制是一种计数方式,亦称进位计数法或位值计数法 有限种数字符号来表示无限的数值 使用的数字符号的数目成为之中进位制的基数或底数 2.八进制.16进制.10进制.二进制 3.二进制运算 ...
- 计算机基础知识关于进制,计算机基础知识-- 进制和编码
1.二进制 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一",借位规则是"借一当二",由18世 ...
- python十六进制转换成八进制_Python 进制转换 二进制 八进制 十进制 十六进制
全局定义一定不要丢了 全局定义 base = [str(x) for x in range()] + [ chr(x) for x in range(ord('A'),ord('A')+)] 二进制 ...
- 二进制 八进制 十进制 十六进制
2->8:从个位开始把二进制数三个一组分组,然后每组分别换成8进制, 例:11,101,100 就是分组后的结果 11->3 101->5 100->4 所以结果是354 8- ...
- 基础知识——进制 与 进制转换 (C++ 程序)
目录 一.进制的定义 二.表示方法 1.当进制数 ≤ 10时 2.当进制数>10时 三.进制的计算 1.整数 2.小数 3.非十进制数 4.非十进制转十进制 四.十进制转非十进制数 1.整数部分 ...
- 【笔记】二进制八进制十进制十六进制互转详细教程和范例
最近复习之前的笔记基础.又把进制转换理解了一遍.放在这里以后备查.同时作为分享. 二进制转换八进制十进制十六进制 例: 11010 二进制转换八进制 需要2进制数字为每3位分组的十进制数,不足3位的倍 ...
- 计算机系统基础知识——进制转换(二进制、八进制、十进制、十六进制)
前言:计算机系统中常用的进位数制有二进制.八进制.十进制.十六进制,对于任何一种进位数制,其表示的数都可以写成按权展开的 多项式. 1. 十进制与二进制的相互转换 1.1 十进制转二进制 十进制数 ...
最新文章
- 为什么php动态语言,动态语言静态化
- 一生一世高圆圆经典台词
- 如何在cmd运行python文件夹_python怎么在cmd运行文件夹
- 谷歌开发者大会焦点:大中华区新掌门亮相,Android 10原生支持5G,TF2.0大更新...
- JAXWS和JAXRS(REST)开发WebService区别
- antd 表格树如何展开_ant-design-pro protable 树形表格默认展开
- C/C++中函数参数传递
- vscode编辑器 装JavaScript Standard Style 遇到不检测代码问题
- python matplotlib相关 dateutil
- SSH 命令常见用法
- java中的各个数据结构区别
- 执行对象cocos2d-x 2.x action动作整理集合
- Ubuntu编写第一个Python程序
- etcd 及 etcd 在 k8s中的用法
- html怎么隐藏音频的图标,XP系统realtek高清晰音频管理器图标如何隐藏
- 《Redis视频教程》(p6)
- 【Unity】StreamingAssets和PersistentData文件夹
- oracle中spool命令的使用,Oracle中Spool命令的使用方法实例
- 云原生时代的业务流程编排
- 如何从零开始搭建自己的博客(通俗易懂)