十进制转换二进制问题
进制转换练习题带答案

进制转换练习题带答案一、十进制与二进制的转换(1) 25(2) 63(3) 102(4) 145(5) 189(1) 11011(2) 1010101(3) 11110000(4) 10011011(5) 11011101二、十进制与八进制的转换(1) 47(2) 123(3) 255(4) 365(5) 512(1) 57(2) 123(3) 456(4) 712(5) 754三、十进制与十六进制的转换(1) 79(2) 255(3) 439(4) 1023(5) 4095(1) 3F(2) FF(3) 1A3(4) AFE(5) FFF四、二进制与八进制的转换(1) 11011(2) 1010101(3) 11110000(4) 10011011(5) 11011101(1) 57(2) 123(3) 456(4) 712(5) 754五、二进制与十六进制的转换(1) 11011(2) 1010101(3) 11110000(4) 10011011(5) 11011101(1) 3F(2) FF(3) 1A3(4) AFE(5) FFF六、八进制与十六进制的转换(1) 57(2) 123(3) 456(4) 712(5) 754(1) 3F(2) FF(3) 1A3(4) AFE(5) FFF七、混合进制转换(1) 将八进制数 527 转换为十六进制数。
(2) 将二进制数 110101 转换为十进制数。
(3) 将十六进制数 2A 转换为二进制数。
(4) 将十进制数 198 转换为八进制数。
(5) 将二进制数 11110000 转换为十六进制数。
八、进制转换应用题(1) 如果一个十六进制数 1AB 表示的十进制数是多大?(2) 一个二进制数 1011 1110 转换为十进制后,再加上 25,结果是多少?(3) 将八进制数 765 转换为十进制数,然后除以 3,得到的商是多少?(4) 将十进制数 255 转换为二进制数,然后与二进制数11111111 进行按位与操作,结果是什么?(5) 将十进制数 100 转换为十六进制数,然后转换为二进制数,得到的二进制数是多少位?九、进制转换逻辑题(1) 十进制数 10 转换为二进制数是 1010。
十进制与二进制之间互换

十进制与二进制之间互换(1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分方法:除以2取余数法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
下面举例:将十进制的168转换为二进制得出结果 将十进制的168转换为二进制,(10101000)2 分析:第一步,将168除以2,商84,余数为0。
第二步,将商84除以2,商42余数为0。
第三步,将商42除以2,商21余数为0。
第四步,将商21除以2,商10余数为1。
第五步,将商10除以2,商5余数为0。
第六步,将商5除以2,商2余数为1。
第七步,将商2除以2,商1余数为0。
第八步,将商1除以2,商0余数为1。
第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000例2、正整数的十进制转换二进制:要点:除二取余,倒序排列解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取将除得的余数,即换算为二进制数的结果例如把52换算成二进制数,计算结果如图:52除以2得到的余数依次为:0、0、1、0、1、1,倒序排列,所以52对应的二进制数就是110100。
由于计算机内部表示数的字节单位都是定长的,以2的幂次展开,或者8位,或者16位,或者32位....。
于是,一个二进制数用计算机表示时,位数不足2的幂次时,高位上要补足若干个0。
本文都以8位为例。
那么: (52)10=(00110100)2二、负整数转换为二进制 要点:取反加一解释:将该负整数对应的正整数先转换成二进制,然后对其“取补”,再对取补后的结果加1即可 例如要把-52换算成二进制: 1.先取得52的二进制:00110100 2.对所得到的二进制数取反:11001011 3.将取反后的数值加一即可:11001100 即:(-52)10=(11001100)2三、小数转换为二进制 要点:乘二取整,正序排列解释:对被转换的小数乘以2,取其整数部分(0或1)作为二进制小数部分,取其小数部分,再乘以2,又取其整数部分作为二进制小数部分,然后取小数部分,再乘以2,直到小数部分为0或者已经去到了足够位数。
十进制转化为二进制题目

十进制转化为二进制题目10 题1. 将十进制数10 转化为二进制。
-解答:不断用10 除以2,取余数,从下往上排列。
10÷2 = 5 余0,5÷2 = 2 余1,2÷2 = 1 余0,1÷2 = 0 余1。
所以十进制数10 转化为二进制是1010。
2. 把十进制数15 转换成二进制。
- 15÷2 = 7 余1,7÷2 = 3 余1,3÷2 = 1 余1,1÷2 = 0 余1。
二进制为1111。
3. 十进制数20 转化为二进制是多少?- 20÷2 = 10 余0,10÷2 = 5 余0,5÷2 = 2 余1,2÷2 = 1 余0,1÷2 = 0 余1。
答案是10100。
4. 求十进制数25 的二进制表示。
- 25÷2 = 12 余1,12÷2 = 6 余0,6÷2 = 3 余0,3÷2 = 1 余1,1÷2 = 0 余1。
二进制为11001。
5. 把十进制数30 转化为二进制。
- 30÷2 = 15 余0,15÷2 = 7 余1,7÷2 = 3 余1,3÷2 = 1 余1,1÷2 = 0 余1。
二进制是11110。
6. 十进制数35 转换成二进制是多少?- 35÷2 = 17 余1,17÷2 = 8 余1,8÷2 = 4 余0,4÷2 = 2 余0,2÷2 = 1 余0,1÷2 = 0 余1。
二进制为100011。
7. 求十进制数40 的二进制表示。
- 40÷2 = 20 余0,20÷2 = 10 余0,10÷2 = 5 余0,5÷2 = 2 余1,2÷2 = 1 余0,1÷2 = 0 余1。
二进制与十进制间的转换方法(图文教程)

一、正整数的十进制转换二进制:要点:除二取余,倒序排列解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取将除得的余数,即换算为二进制数的结果例如把52换算成二进制数,计算结果如图:52除以2得到的余数依次为:0、0、1、0、1、1,倒序排列,所以52对应的二进制数就是110100。
由于计算机内部表示数的字节单位都是定长的,以2的幂次展开,或者8位,或者16位,或者32位....。
于是,一个二进制数用计算机表示时,位数不足2的幂次时,高位上要补足若干个0。
本文都以8位为例。
那么:(52)10=(00110100)2二、负整数转换为二进制要点:取反加一解释:将该负整数对应的正整数先转换成二进制,然后对其“取补”,再对取补后的结果加1即可例如要把-52换算成二进制:1.先取得52的二进制:001101002.对所得到的二进制数取反:110010113.将取反后的数值加一即可:11001100即:(-52)10=(11001100)2三、小数转换为二进制要点:乘二取整,正序排列解释:对被转换的小数乘以2,取其整数部分(0或1)作为二进制小数部分,取其小数部分,再乘以2,又取其整数部分作为二进制小数部分,然后取小数部分,再乘以2,直到小数部分为0或者已经去到了足够位数。
每次取的整数部分,按先后次序排列,就构成了二进制小数的序列例如把0.2转换为二进制,转换过程如图:0.2乘以2,取整后小数部分再乘以2,运算4次后得到的整数部分依次为0、0、1、1,结果又变成了0.2,若果0.2再乘以2后会循环刚开始的4次运算,所以0.2转换二进制后将是0011的循环,即:(0.2)10=(0.0011 0011 0011 .....)2循环的书写方法为在循环序列的第一位和最后一位分别加一个点标注四、二进制转换为十进制:整数二进制用数值乘以2的幂次依次相加,小数二进制用数值乘以2的负幂次然后依次相加!比如将二进制110转换为十进制:首先补齐位数,00000110,首位为0,则为正整数,那么将二进制中的三位数分别于下边对应的值相乘后相加得到的值为换算为十进制的结果如果二进制数补足位数之后首位为1,那么其对应的整数为负,那么需要先取反然后再换算比如11111001,首位为1,那么需要先对其取反,即:-00000110 00000110,对应的十进制为6,因此11111001对应的十进制即为-6换算公式可表示为:11111001=-00000110=-6如果将二进制0.110转换为十进制:将二进制中的三位数分别于下边对应的值相乘后相加得到的值为换算为十进制的结果。
十进制数转换成二进制

一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2,商84,余数为0。
第二步,将商84除以2,商42余数为0。
第三步,将商42除以2,商21余数为0。
第四步,将商21除以2,商10余数为1。
第五步,将商10除以2,商5余数为0。
第六步,将商5除以2,商2余数为1。
第七步,将商2除以2,商1余数为0。
第八步,将商1除以2,商0余数为1。
第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000(2)小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。
如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。
换句话说就是0舍1入。
读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;第四步,读数,从第一位读起,读到最后一位,即为0.001。
例2,将0.45转换为二进制(保留到小数点第四位)大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。
十进制转二进制的规则

十进制转二进制的规则十进制转二进制是一种常见的数值转换方法,它可以将我们熟悉的十进制数转换为二进制表示。
在计算机科学和电子工程中,二进制是一种基础的数字系统,因为计算机内部使用的是二进制来处理和存储数据。
要将一个十进制数转换为二进制,我们可以使用除2取余法。
这个方法很简单,我们只需要不断地将十进制数除以2,并记录下每次的余数,直到商为0为止。
最后,将记录下的余数按照从最后一个到第一个的顺序排列起来,就得到了对应的二进制表示。
下面我们以一个例子来说明这个转换过程。
假设我们要将十进制数27转换为二进制。
首先,我们将27除以2,得到商为13,余数为1。
然后,我们将13除以2,得到商为6,余数为1。
继续进行下去,我们将6除以2,得到商为3,余数为0。
再次除以2,得到商为1,余数为1。
最后,将1除以2,得到商为0,余数为1。
按照从最后一个到第一个的顺序,我们得到了二进制表示为11011。
除了除2取余法,我们还可以使用移位法来进行十进制转二进制的计算。
移位法的基本思想是不断地将十进制数右移一位,同时记录下每次右移后的最低位。
与除2取余法相比,移位法更加高效,因为计算机内部的移位操作是非常快速的。
接下来,我们以同样的例子来演示移位法的转换过程。
我们将再次将十进制数27转换为二进制。
首先,将27右移一位,得到13,同时记录下最低位为1。
继续右移一位,得到6,最低位为0。
继续右移一位,得到3,最低位为1。
再次右移一位,得到1,最低位为1。
最后,再右移一位,得到0,最低位为0。
按照从最后一个到第一个的顺序,我们得到了二进制表示为11011,与除2取余法的结果相同。
除了这两种常见的方法,还有其他方法可以将十进制数转换为二进制。
例如,我们可以使用位运算方法来进行转换。
位运算是计算机中常用的运算方式,可以对二进制数进行快速的操作。
通过位运算,我们可以将十进制数逐位地转换为二进制数。
总结起来,十进制转二进制是一种基础的数值转换方法,它在计算机科学和电子工程中起着重要的作用。
十进制与二进制的转换
十进制与二进制的转换在计算机科学中,十进制与二进制的转换是一个基础而重要的概念。
十进制是我们平时所使用的数字系统,它使用了数字0-9来表示不同的数值。
而二进制是计算机内部使用的数字系统,它仅使用了0和1两个数字来表示数值。
在这篇文章中,我们将讨论十进制与二进制之间的转换方法及其应用。
一、十进制转换为二进制十进制转换为二进制的方法主要是通过除以2取余数的方式来实现。
具体步骤如下:1. 将给定的十进制数除以2,并记录商和余数。
2. 将得到的商再次除以2,并记录商和余数。
3. 重复上述步骤,直到商为0为止。
4. 将记录的余数按从下往上的顺序排列即得到对应的二进制数。
例如,我们要将十进制数28转换为二进制数:28 ÷ 2 = 14 014 ÷ 2 = 7 07 ÷ 2 = 3 (1)3 ÷ 2 = 1 (1)1 ÷ 2 = 0 (1)将上述余数从下往上排列,得到二进制数11100。
因此,十进制数28的二进制表示为11100。
二、二进制转换为十进制二进制转换为十进制的方法主要是通过权重相加的方式实现。
具体步骤如下:1. 将给定的二进制数从右往左分别记为bn、bn-1、bn-2...b1、b0。
2. 根据位置确定每一位的权重,第n位的权重为2的n次方,第n-1位的权重为2的n-1次方,依此类推。
3. 将每一位的权重与对应的二进制位相乘,并将结果相加得到最终的十进制数。
例如,我们要将二进制数10110转换为十进制数:1 × 2^4 + 0 × 2^3 + 1 × 2^2 + 1 × 2^1 + 0 × 2^0 = 16 + 0 + 4 + 2 + 0 = 22因此,二进制数10110的十进制表示为22。
三、应用与实践十进制与二进制的转换在计算机科学中有着广泛的应用。
在计算机内部,数据的存储和传输通常以二进制的形式进行。
在计算机中10进制的整数转换成2进制整数的方法
在计算机中10进制的整数转换成2进制整
数的方法
十进制数转换为二进制数,要将整数和小数分别转换,然后相加即可。
(1)十进制整数转换为二进制整数
方法:除2取余。
用2不断去除要转换的十进制数,直至商等于0为止,将所得的各次余数按逆序排列,最后一次的余数为最高位。
即得所转换的二进制数。
(2)十进制小数转换为二进制小数
方法:乘2取整。
即用2连续去乘纯小数部分,直至纯小数部分为零或满足所要求的精度,每次乘积的整数部分顺序排列,就得到要求的二进制小数。
进制问题练习题
进制问题练习题1. 问题一:将十进制数187转换为二进制数。
解答:首先,我们知道二进制是以2为基数的计数系统,因此我们需要找到187的二进制表示。
通过反复除以2的方法,我们可以得到以下计算过程:187 / 2 = 93 余 193 / 2 = 46 余 046 / 2 = 23 余 023 / 2 = 11 余 111 / 2 = 5 余 15 / 2 = 2 余 12 / 2 = 1 余 01 /2 = 0 余 1从上述计算结果可以看出,余数的顺序正好是从下往上排列的,所以187的二进制表示为:10111011。
2. 问题二:将八进制数345转换为十进制数。
解答:八进制是以8为基数的计数系统,所以我们需要将八进制数345转换为十进制数。
345中的3表示8^2(8的平方),4表示8^1(8的一次方),5表示8^0(8的零次方)。
我们根据上述规律进行计算:3 * 8^2 +4 * 8^1 +5 * 8^0 = 3 * 64 + 4 * 8 + 5 * 1 = 192 + 32 + 5 = 229所以,八进制数345转换为十进制数为229。
3. 问题三:将十六进制数ABCD转换为二进制数。
解答:十六进制是以16为基数的计数系统,ABCD是十六进制中的四位数,对应的二进制数为8位。
我们可以将ABCD的每个十六进制位数转换为四位的二进制数,得到以下结果:A = 1010B = 1011C = 1100D = 1101所以,十六进制数ABCD转换为二进制数为1010101111001101。
4. 问题四:将二进制数11011010转换为十六进制数。
解答:二进制数11011010每四位对应一个十六进制数的位数,我们可以将其分组转换为十六进制数。
1101对应的十六进制数为D,1010对应的十六进制数为A。
所以,二进制数11011010转换为十六进制数为DA。
通过这些进制问题练习题,我们可以加深对进制转换的理解,提升自己在数制计算方面的能力。
十进制与二进制之间的转换
、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。
下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2,商84,余数为0。
第二步,将商84除以2,商42余数为0。
第三步,将商42除以2,商21余数为0。
第四步,将商21除以2,商10余数为1。
第五步,将商10除以2,商5余数为0。
第六步,将商5除以2,商2余数为1。
第七步,将商2除以2,商1余数为0。
第八步,将商1除以2,商0余数为1。
第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000(2)小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。
如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。
换句话说就是0舍1入。
读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;第四步,读数,从第一位读起,读到最后一位,即为0.001。
例2,将0.45转换为二进制(保留到小数点第四位)大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
do{
a[i++]=num%2;} while((num/=2)!=0);
最常用的方法,通过循环,取num 除以 2的余数作为二 进制的每个位。再将num变成num/2.循环的方式有很多 很简单,就不多讲了。
西安电子科技大学信安协会 龚潇
系统中提供了一个十进制转换成其他进制的函数, 可以直接用来进行进制转换。 MSDN上的函数原型: char *_itoa( int value, char *string, int radix ); Value 指输入的十进制数 String指输出的数保存的字符串 Radix指需要转换为的进制Leabharlann 西安电子科技大学信安协会 龚潇
所以我们直接可以用一个函数就解决我们的进制转 换问题。 itoa(num,ch,2); 这句话意思是将十进制整数num转换成二进制保存 在字符串ch中。 使用该函数需要的头文件是stdlib.h
西安电子科技大学信安协会 龚潇
C语言中位运算是直接对二进制进行的操作,与十 进制运算相比起来效率高得多。 C语言提供位运算的功能,十分适合于编写系统软 件,与如pascal等高级语言相比,具有很大优越性。 在我看的DES加密算法里,很多操作运用位运算, 使得算法效率相当高。 位运算符有&、|、^、~、<<、>>.
西安电子科技大学信安协会 龚潇
比如此时我们num=22,i=3, 此时num在电脑里是 以二进制储存的,为10110. *(bit+i)=(num>>i)&1; 意思就是 bit[3]=(10110>>3)&1; 10110>>3 我们知道应该是10(因为低位舍去 了),而不同长度的数据进行位运算是右对齐,所以 我们10&1即为0&1,结果bit[3]=0&1=0. 通过循环,每一位都是这样计算,我们就相当于把 二进制num中每一位储存在了bit里。
西安电子科技大学信安协会 龚潇
我学习了三种将十进制转换成二进制的方法,其中 第一种较好理解,第二种更易使用,第三种效率最 高。 我们不仅可以将十进制数转换成二进制数,还可以 将字符转换成二进制串,因为字符的ASCII 与十进 制整数是对应的。写DES加密算法时就用到了这一 点。
西安电子科技大学信安协会 龚潇
西安电子科技大学信安协会 龚潇
#include<stdio.h> void main(){ int num,bit[8],i; scanf("%d",&num); for(i=0;i<8;i++) *(bit+i)=(num>>i)&1; for(i=7;i>=0;i--) printf("%d",*(bit+i)); }