整数时十进制与二进制相互转换_二进制与十进制的互转

其他范文 时间:2020-02-28 15:46:44 收藏本文下载本文
【www.daodoc.com - 其他范文】

整数时十进制与二进制相互转换由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“二进制与十进制的互转”。

整数时十进制与二进制相互转换:

二进制的1101转化成十进制

1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13

转化成十进制要从右到左用二进制的每个数去乘以2的相应次方,不过次方要从0开始。相反,用十进制的13除以2,每除一下将余数就记在旁边,最后按余数从下向上排列就可得到1101。由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为“按权相加”法。

2的0次方是1 2的1次方是2 2的2次方是4 2的3次方是8 2的4次方是16 2的5次方是32 2的6次方是64 2的7次方是128 2的8次方是256 2的9次方是512 2的10次方是1024 2的11次方是2048 2的12次方是4096 2的13次方是8192 2的14次方是16384 2的15次方是32768

有小数点的十进制与二进制之间的转换:

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。例如19.95 转2进制分为两个步骤:

(1)小数点前:

19/2=9余1 9/2=4 余1 4/2=2 余0 2/2=1 余0 1/2=0 余1

由下往上取余数 10011(2)小数点后

0.95*2 = 1.9 取整1(1.9-1)*2 = 1.8 取整1(1.8-1)*2 = 1.6 取整1(1.6-1)*2 = 1.2 取整1(1.2-1)*2 = 0.4 取整0(0.4-0)*2 = 0.8 取整0(0.8-0)*2 = 1.6 取整1(1.6-1)*2 = 1.2 取整1 假设小数精度为8位,从上往下去则小数点后为 0.11110011 故19.95 转化为二进制为 10011.11110011 整数时八进制数转换为十进制数:

八进制就是逢8进1。

八进制数采用 0~7这八数来表达一个数。

八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方,以此类推。

所以,设有一个八进制数:1507,转换为十进制为:

用竖式表示:

1507换算成十进制。

第0位 7 * 80 = 7 第1位 0 * 81 = 0 第2位 5 * 82 = 320 第3位 1 * 83 = 512 相加即为839。

同样,我们也可以用横式直接计算:* 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839

结果是,八进制数 1507 转换成十进制数为 839 整数时十六进制数转换成十进制数:

2进制,用两个阿拉伯数字:0、1;

8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;

10进制,用十个阿拉伯数字:0到9; 16进制,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开始)位上,如果是是数 X(X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。

假设有一个十六进数 2AF5, 那么如何换算成10进制呢?

用竖式计算:

2AF5换算成10进制: 第0位: 5 * 160 = 5 第1位: F * 161 = 240 第2位: A * 162 = 2560 第3位: 2 * 163 = 8192 相加即为10997

直接计算就是5 * 160+ F * 161 + A * 162 + 2 * 163 = 10997

现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。

十六进制数的表达方法:

如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,就看不出它是16进制或10进制。C,C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也也不区分大小写。(注意:0x中的0是数字0,而不是字母O)以下是一些用法示例

int a = 0x100F;int b = 0x70 + a;

至此,我们学完了所有进制:10进制,8进制,16进制数的表达方式。最后一点很重要,C/C++中,10进制数有正负之分,比如12表示正12,而-12表示负12,;但8进制和16进制只能用达无符号的正整数,如果你在代码中里:-078,或者写:-0xF2, C和C++并不把它当成一个负数。

10进制数转换成8进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成8。

十六进制数与二进制的相互转换:

二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。

我们也一样,只要学完这一小节,就能做到。

首先我们来看一个二进制数:1111,它是多少呢?

你可能还要这样计算:1 * 20 + 1 * 21 + 1 * 22 + 1 * 23 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。

然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为23 = 8,然后依次是 22 = 4,21=2,20 = 1。记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。

二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。

如(上行为二制数,下面为对应的十六进制): 1111 1101,1010 0101,1001 1011 F D,A 5,9 B

反过来,当我们看到 FD时,如何迅速将它转换为二进制数呢?

先转换F:

看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢?应该是8 + 4 + 2 + 1,所以四位全为1 :1111。接着转换 D:

看到D,知道它是13,13如何用8421凑呢?应该是:8 + 2 + 1,即:1011。

所以,FD转换为二进制数,为: 1111 1011

由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换成16进制,然后再转换为10进制。

下面举例一个int类型的二进制数:

01101101 11100101 10101111 00011011

我们按四位一组转换为16进制为 6D E5 AF 1B。

二进制与十进制的转换

二进制与十进制的转换2007年07月06日 星期五 13:21 教学目标:知识目标:知道二进制与十进制之间的转换方法 操作目标:能在二进制与十进制之间进行进制转换 教学重点:二进制与十......

二进制与十进制的转换

二进制与十进制20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是二进制。一、二进制数据的表示法二进制是计算技术中广泛采用的一种数制。二进......

十进制与二进制之间的转换

、十进制与二进制之间的转换(1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个......

十进制与二进制之间的转换

一)、数制计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写。 一般......

二进制与十进制的转换(优秀)

1、十进制换二进制:短除法,每次除以2并写出每次余数,然后从下往上写出结果。 如:173(10)=10101101(2)6(10)=110(2) 如果是小数转换:每次乘2取整数2、二进制换十进制:从个位起分别乘2的n次......

下载整数时十进制与二进制相互转换word格式文档
下载整数时十进制与二进制相互转换.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文