二进制 八进制 十六进制

                                                                                                           二进制
二进制是计算技术中广泛采用的一种 数制二进制数据是用0和1两个 数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师 莱布尼兹发现。当前的 计算机系统使用的基本上是 二进制系统,数据在 计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
20世纪被称作 第三次科技革命的重要标志之一的 计算机的发明与应用,因为数字计算机只能 识别处理由‘0’.‘1’符号串组成的 代码。其运算模式正是二进制。19世纪爱尔兰逻辑学家乔治布尔对逻辑命题的思考过程转化为对符号"0''.''1''的某种代数演算,二进制是逢2进位的进位制。0、1是基本 算符。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。
 
 
二进制数据的表示法
二进制数据也是采用位置 计数法,其 位权是以2为底的 。例如二进制数据110.11,逢2进1,其权的大小顺序为2²、2¹、2º、
。对于有n位 整数,m位 小数的二进制数据用加权系数展开式表示,可写为:
二进制数据一般可写为:
【例1102】将二进制数据111.01写成加权 系数的形式。
解:
二进制和 十六进制八进制一样,都以二的 来进位的。
 
 
二进制就是等于2时就要进位。
0=00000000
1=00000001
2=00000010
3=00000011
4=00000100
5=00000101
6=00000110
7=00000111
8=00001000
9=00001001
10=00001010
……
即是逢二进一,二进制广泛用于最基础的运算方式,计算机的运行计算基础就是基于二进制来运行。只是用二进制执行运算,用其他进制表现出来。
其实把二进制三位一组分开就是 八进制, 四位一组就是 十六进制
 
 
                                                                                             八进制
 
八进制,Octal,缩写OCT或O,一种以8为基数的 计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在 计算机语言中。
 
Octal,缩写OCT或O,一种以8为基数的 计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。
八进制(基数为8)表示法在计算机系统中很常见,因此,我们有时能看到人们使用八进制表示法。由于十六进制一位可以对应4位二进制数字,用十六进制来表示二进制较为方便。因此,八进制的应用不如 十六进制。有一些 程序设计语言提供了使用八进制符号来表示数字的能力,而且还是有一些比较古老的Unix应用在使用八进制。
 
二进制与八进制的互相转换和二进制与 十六进制的转换类似,区别在于需要操作的是三位一组而不是四位。表2-2列出了二进制与八进制的等效表示。
为了把 八进制数换算为二进制,将每一个八进制数字替换成表2-2中对应的三位。例如,八进制123换算成 二进制的结果就是001010011:
1
2
3
001
010
011
表2-2 二进制/八进制换算表
二进制
八进制
000
0
001
1
010
2
011
3
100
4
101
5
110
6
111
7
为了将一个 二进制数换算为八进制,只需将二进制串划分成每三个位一组(如果需要的话,在前面补零),然后查表2-2,将三位一组的位串替换为相应的 八进制数字即可。
 
 
                                                                                      十六进制
 
 十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们 日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。
二进制转换十进制
二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……
所以,设有一个二进制数:101100100,转换为10进制为:356
用横式计算
0×2 0+0×2 1+1×2 2+0×2 3+0×2 4+1×2 5+1×2 6+0×2 7+1×2 8=356
0乘以多少都是0,所以我们也可以直接跳过值为0的位:
1×2 2+1×2 5+1×2 6+1×2 8=356
4+32+64+256 =356
八进制转换十进制
八进制就是逢8进1。
八进制数采用 0~7这八数来表达一个数。
八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……
所以,设有一个八进制数:1507,转换为十进制为:839,具体方法如下:
可以用横式直接计算:
7×8 0+0×8 1+5×8 2+1×8 3=839
也可以用竖式表示
第0位 7×8 0=7
第1位 0×8 1=0
第2位 5×8 2=320
第3位 1×8 3=512
十六进制转换十进制
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是数β (β大于等于0,并且β小于等于 15,即:F)表示的大小为 β×16的N次方。
假设有一个十六进数 2AF5
直接计算就是:
5×16 0+F×16 1+A×16 2+2×16 3=10997 [1]  
也可以用竖式表示:
第0位: 5×16 0=5
第1位: F×16^1=240
第2位: A×16 2=2560
第3位: 2×16 3=8192
-------------------------------
10997
此处可以看出,所有进制换算成10进制,关键在于各自的权值不同。
假设有人问你,十进数1234 为什么是一千二百三十四?你尽可以给他这么一个算式:
1234 = 1×10 3+2×10 2+3×10 1+4×10 0
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/zhangzhenzhen/p/5494713.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值