精华内容
下载资源
问答
  • 第六章递归 题目二借鉴自: ...这道题目要求将十进制分别转化为二进制、八进制和十六进制。递归函数重视寻找递归体和递归的终止条件。 题目二:任何一个正整数都可以2的幂次方表示。例如: 137=27+23+20。同...

    第六章递归
    题目二借鉴自:
    https://blog.csdn.net/u011954296/article/details/51029600
    一.题目分析
    题目一:将非负十进制整数n转换成b进制。(其中b=2~16)
    这道题目要求将十进制分别转化为二进制、八进制和十六进制。递归函数重视寻找递归体和递归的终止条件。
    题目二:任何一个正整数都可以用2的幂次方表示。例如:
    137=27+23+20。同时约定方次用括号来表示,即ab可表示为a(b)。由此可知,137可表示为: 2(7)+2(3)+2(0)。进一步:7=22+2+20(21用2表示)3=2+20。所以最后137可表示为:
    2(2(2)+2+2(0))+2(2+2(0))+2(0)。
    先将输入数据137按指数从大到小分为2(7)+2(3)+2(0),然后又将指数按上面同样的方法分为2(2)+2+2(0)、2+2(0)、0,就可分出137的最终结果2(2(2)+2+2(0))+2(2+2(0))+2(0)。非常明显,这道题应该运用递归思想。
    二.算法构造
    题目一:
    递归方法:递归体为ds(s / 2),递归终止条件为s0。其中s为输入的十进制数字。s%x,x为想转换的进制。当s0时,return。此外的情况,执行递归体。在十进制转换为二进制、十进制和十六进制问题上采取同样的方法。注意在十进制装换为十六进制时,若是s % 16 > 9),则需要执行printf("%c", s % 16) - 10 + ‘A’);。这是由于十六进制中09可以用自身表示,而1015需要用‘A’~‘F’表示。
    非递归方法:输入十进制数s,s==0时,结束。其他情况执行s/x(x为想转换的进制),且输出s%x,执行此操作的条件为s!=0。所以要借助于do~while()语句。
    题目二:如果输入fun(137,0),则输出为2(7)+2(3)+2(0)。 这时,如果对7和3递归处理,则为满足题意的输出。void fun(int n, int r),其中n为操作数,r为递归深度。
    三.程序实现
    题目一:

    #include<stdio.h>
    #include<windows.h>
    //递归实现十进制转换为二进制
    int ds(int s)
    {
    	//s = s / 2;	//取模操作
    	//printf("%d", s % 2);    //对/2获得的整数进行取余操作
    	if (s == 0)	
    	{
    		return;	
    	}
    	else
    	{
    		ds(s / 2);	//递归体
    		printf("%d", s % 2);    //对s取余操作
    
    	}
    }
    int main()
    {
    	int d = 0;
    	printf("请输入一个十进制数:");
    	scanf_s("%d", &d);
    	ds(d);
    		system("pause");
    	return 0;
    }
    //递归实现十进制转换为八进制
    int ds(int s)
    {
    	if (s==0)	
    	{
    		return ;
    	}
    	else
    	{
    		ds(s / 8);//取模操作
    		printf("%d", s % 8);    //对s进行取余操作
    	}
    }
    int main()
    {
    	int d = 0;
    	printf("请输入一个十进制数:");
    	scanf_s("%d", &d);
    	ds(d);
    	system("pause");
    	return 0;
    }
    //递归实现十进制转换为十六进制
    int ds(int s)
    {
    	if (s == 0)
    	{
    		return;
    	}
    	else
    	{
    		ds(s / 16);	
    		if (s % 16 > 9)
    			//printf("%c", s % 16);
    			printf("%c", (s % 16) - 10 + 'A');
    		else
    		
    			printf("%d", s % 16);
    
    		
    		//printf("%d", s % 16);    
    
    	}
    }
    int main()
    {
    	int d = 0;
    	printf("请输入一个十进制数:");
    	scanf_s("%d", &d);
    	ds(d);
    	system("pause");
    	return 0;
    }
    //非递归实现十进制转换为二进制
    int main()
    {
    	int s = 0;
    	printf("请输入一个十进制数:");
    	scanf_s("%d", &s);
    	if (s == 0)
    	{
    		return;
    	}
    	else
    	do{
    		s = s / 2;
    		printf("%d", s % 2);
    	}while(s!=0);// 对s取余操作
    	system("pause");
    	return 0;
    }
    //非递归实现十进制转换为八进制
    int main()
    {
    	int s = 0;
    	printf("请输入一个十进制数:");
    	scanf_s("%d", &s);
    	if (s == 0)
    	{
    		return;
    	}
    	else
    		do {
    			s = s / 8;
    			printf("%d", s % 8);
    		} while (s != 0);// 对s取余操作
    		system("pause");
    		return 0;
    }
    //非递归实现十进制转换为十六进制
    int main()
    {
    	int s = 0;
    	printf("请输入一个十进制数:");
    	scanf_s("%d", &s);
    	if (s == 0)
    	{
    		return;
    	}
    	else
    		do{
    			s = s / 16;
    			if (s % 16 > 9)
    				printf("%c", (s % 16) - 10 + 'A');
    			else
    				printf("%d", s % 16);  
    		} while (s != 0);
    		system("pause");
    		return 0;
    }
    

    题目二:

    void fun(int n, int r)
    {
    	//递归结束,最先输出,不带+号
    	if (1 == n)
    	{
    		//将r表示成0和2
    		switch (r)
    		{
    			//2^0,递归深度为0
    		case 0: printf("2(0)");
    			break;
    			//2^1,递归深度为1
    		case 1: printf("2");
    			break;
    			//2^2,递归深度为2
    		case 2:printf("2(2)");
    			break;
    			//2^r,递归深度为r
    		default:
    			printf("2(");
    			fun(r, 0);
    			printf(")");
    		}
    	}
    	else
    	{
    		//n除以二,递归深度加1
    		fun(n / 2, r + 1);
    		//如果模2有余数,则为2^r
    		if (1 == n % 2)
    		{
    			//将r表示成0和2
    			switch (r)
    			{
    				//2^0,递归深度为0
    			case 0:printf("+2(0)");
    				break;
    				//2^1,递归深度为1
    			case 1:printf("+2");
    				break;
    				//2^2,递归深度为2
    			case 2:printf("+2(2)");
    				break;
    				//2^r,递归深度为r
    			default:
    				printf("+2(");
    				fun(r, 0);
    				printf(")");
    			}
    		}
    	}
    }
    int main()
    {
    	fun(137, 0);
    	system("pause");
    	return 0;
    }
    此题借鉴自:
    https://blog.csdn.net/u011954296/article/details/51029600
    

    四.调用过程
    题目一:
    在这里插入图片描述
    上图为十进制转换为二进制的调用过程,十进制转换为八进制和十进制转换为十六进制的过程与上图方法相同。
    五.运行结果
    题目一:
    十进制转化为二进制:
    在这里插入图片描述
    十进制转换为八进制:
    在这里插入图片描述
    十进制转换为十六进制:
    在这里插入图片描述
    题目二:
    在这里插入图片描述
    六.经验总结
    在接触到题目一时,首先应该了解到数制之间该如何转换的细节。然后构思递归实现的具体细节。涉及递归处理问题时,必须要将大问题转换为小问题,最重要的是寻找递归终止条件和构造递归体。“除2取余,逆序输出”是十进制转换为二进制数的思想核心,其它进制的转换同理。。非递归实现题目一时,思路不变,对程序稍作改动,并且借助于do~while()语句即可。对于题目二余力不足呐。

    展开全文
  • 转载https://www.cnblogs.com/wxb20/p/6033458.html 这篇文章主要介绍了十进制负数转换二进制、八进制、十六进制的知识分享,需要...但是很多人都会将二进制转换成整数,但是如何用二进制表示负数呢?有的人会说,...

    转载https://www.cnblogs.com/wxb20/p/6033458.html

    这篇文章主要介绍了十进制负数转换为二进制、八进制、十六进制的知识分享,需要的朋友可以参考下

     

    程序猿们或许对二进制都不陌生,二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。但是很多人都会将二进制转换成整数,但是如何用二进制表示负数呢?有的人会说,在二进制前面加个负数符合。而计算机只能认识0 和 1,又怎么去加个额外的负数符号呢?于是我们就需要用0和1来表示负数。如果想要弄懂这个,我们需要先了解什么是二进制原码。

    原码是什么

    原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

    简单直观;例如,我们用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011

    原码不能直接参加运算,可能会出错。例如数学上,1+(-1)=0,而在二进制中00000001 + 10000001 = 10000010,换算成十进制为-2。显然出错了。


    二进制原码、补码和反码

    十进制如何转换成二进制

    我们如何把十进制的-3,转换成二进制表示呢?首先我们将 -3 的绝对值 +3 转换成二进制,假设是为int类型(32位)的,那么二进制表示为:

    0000 0000 0000 0000 0000 0000 0000 0011

    负数转换成二进制分为3步:

    1、 首先将负数转换为对应的原码

    -3 的原码为(也就是+3转换成二进制后的字符串):

    0000 0000 0000 0000 0000 0000 0000 0011

    2、 再将原码的每一位做取反操作得到反码。

    取反操作:0变为1 、 1变为0;取反后的结果即为:

    1111 1111 1111 1111 1111 1111 1111 1100

    3、 将反码+1得到补码

    1111 1111 1111 1111 1111 1111 1111 1101

    现在用Windows自带的计算器来验证一下,Win+R 输入calc,将计算器改为程序员,选择双字(4字节,32位)


    打开Windows自带的计算器科学计算功能

    在计算器中选择十进制,之后输入 -3 :


    Windows自带的计算器科学计算十进制下输入-3

    再点击二进制转换,将十进制下的-3转换成二进制:

    转换十进制-3为二进制

    二进制转十进制负数问题

    正常情况下,转换二进制到十进制都是没有任何问题的。而在类似 JavaScript / PHP 等整数类型中,一般 int /integer 都有位数限制,一般都是32位长度。也就预示着,这些语言中,整数是有最大值的,而32位最大整数极限为:2147483647,也就是二进制:

    01111111111111111111111111111111

    那么就很容易理解,32位二进制,第一位数为0的时候,就表示这个是一个正数,而如果是1,那么就表示这个是负数。

    32位二进制 11111111111111111111111111111001 十进制值是什么?

    11111111111111111111111111111001

    如上,二进制长度为32位,也就是这个整数是一个负数,先取反,得到反码:

    00000000000000000000000000000110

    反码+1,得到:

    00000000000000000000000000000111

    转换成十进制:7

    由于是负数,所以加个负号,转换成 -7

    趣味:32位二进制 1111111111111111111111111111001 十进制值是什么?

    这个是个比较有趣的,千万不要误导为上面这是一个负数,其实这个是个整数,因为这里只有31位,需要在前面加0,补足32位,变成:

    01111111111111111111111111111001
    十进制负数转八进制、十六进制

    负数转换成八进制、十六进制,只需在补码(二进制)的基础上,3位合成一位计算,或者4位合成一位计算

    -3的转换成二进制为:

    1111 1111 1111 1111 1111 1111 1111 1101

    八进制则将-3的二进制从右至左每3位为一个单元,不够三位用0补 即:

    011 111 111 111 111 111 111 111 111 111 101

    计算每一个单元,结果为:37777777775

    十六进制则将-3的二进制从右至左每4位合并为一个单元,即:

    1111 1111 1111 1111 1111 1111 1111 1101

    计算后为: FFFFFFFD


    转换十进制-3为八进制和十六进制

    转载于:https://www.cnblogs.com/yuanqiangfei/p/11204890.html

    展开全文
  • 二进制只有两个:0 和 1;逢二进一;例:3=11;5=101 八进制: 逢八进一;数字显示范围:0-7 ;例:8=10 十六进制: 逢十六进一,从开始的数字都字母表示;例:1-9、A、B、C、D、E、F、10(16) 怎么...

    十进制:

        我们平时使用的就是十进制,逢十进一;例:1-9,下一位为10;11-19,下一位为20
    

    二进制:

        二进制只有两个数:0 和 1;逢二进一;例:3=11;5=101
    

    八进制:

        逢八进一;数字显示范围为:0-7  ;例:8=10
    

    十六进制:

        逢十六进一,从十开始的数字都用字母表示;例:1-9、A、B、C、D、E、F、10(16)
    

    怎么算这些进制呢(以二进制为例)

    二进制算法图解
    这种方式为取余,采用这种方式,可同样得出八进制,十六进制的数据,因为十六进制比较特殊,这里再加一个十六进制的演示例子

    十六进制图解

    展开全文
  • 计算机基础:二进制、八进制、十进制、十六进制2006-11-29 20:23一、十进制数 十进制数是日常生活中使用最广的计数制。组成十进制数的符号有0,1,2,3,4,5,6,7,8,9等共十个符号,我们称这些符号数码。 在...
    计算机基础:二进制、八进制、十进制、十六进制
    2006-11-29 20:23
    一、十进制数

      十进制数是日常生活中使用最广的计数制。组成十进制数的符号有0,1,2,3,4,5,6,7,8,9等共十个符号,我们称这些符号为数码。
      在十进制中,每一位有0~9共十个数码,所以计数的基数为10。超过9就必须用多位数来表示。十进制数的运算遵循:加法时:“逢十进一”;减法时:“借一当十”。
      十进制数中,数码的位置不同,所表示的值就不相同。

      式中,每个对应的数码有一个系数1000,100,10,1与之相对应,这个系数就叫做权或位权。十进制数的位权一般表示为:10n-1  

    式中,10为十进制的进位基数;10的i次为第i位的权;n表示相对于小数点的位置,取整数;当n位于小数点的左边时,依次取n=1、2、3……n。位于小数点的右边时,依次取n=-1、-2、-3……因此,634.27可以写为:

    634.27=6×102+3×101+4×100+2×10-1+7×10-2

       在正常书写时,各数码的位权隐含在数位之中,即个位、十位、百位等。

      二、二进制

      电子计算机处理的信息,都是仅用“0”与“1”两个简单数字表示的信息,或者是用这种数字进行了编码的信息。这种数制叫做二进制。要了解计算机,首先要了解计算机中数的表示方法。

      为了区别不同数制表示的数,通常用右括另外下标数字或字母表示数制,十进制数用D表示,二进制用B表示,十六进制数用H表示,八进制用O表示。

      二进制计算法的特点:①二进制数只有“0”和“1”两个数码,基数是2,最大的数字是1;②采用逢二进一的原则。

      二进制的位权一般表示为:2n-1。各位的权为以2为底的幂。例如,(01101010)各位的权自至在依次为27、26、25、24、23、22、21、20

      二进制数的算术四则运算规则,除进、借位外与十进制数相同。
      ■二进制加法规则
      0+0=0 1+0=1
      0+1=1 1+1=10(红色为进位位)
      ■二进制减法规则
      0-0=0 0-1=1-借位
      1-0=1 1-1=0
      ■二进制乘法规则
      0×0=0 1×0=0
      0×1=0 1×1=1

    为了区别于十进制数,在书写时二进制数可以用两种方法表示:例如:(1011.01)2或1011.1B。

       例如:写出(1011.01)2的十进制数表达式。
       (1011.01)2=1×23+0×22+1×21+1×20+0×2-1+1×2-2=(11.25)10  

      二进制的优点是:
      ■二进制只有“0”和“1”两数字,很容易表示。电压的高和低、 晶体管的截止与饱和、磁性材料的磁化方向等都可以表示为“0”和“1”两种状态。
      ■二进制数的每一位只有0和1两状态,只需要两种设备就能表示, 所以二进制数节省设备。由于状态简单,所以抗干扰力强,可靠性高。

      二进制的主要缺点是数位太长,不便阅读和书写,人们也不习惯。为此常用八进制和十六进制作为二进制的缩写方式。为了适应人们的习惯,通常在计算机内都采用二进制数,输入和输出采用十进制数,由计算机自己完成二进制与十进制之间的相互转换。

          三、十六进制数

      二进制数在计算机系统中处理很方便,但当位数较多时,比较难记忆及书写,为了减小位数,通常将二进制数用十六进制表示。
      十六进制是计算机系统中除二进制数之外使用较多的进制,其计数法的特点为:
      ①有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F等共十六个数码,其分别对应于十进制数的0~15;
      ②十六进制数的加减法的进/借位规则为:借一当十六,逢十六进一。

      十六进制数的位权一般表示为:16n-1。其中16是十六进制的进位基数,n表示相对小数点的位置。在书写时,用加注16或H的方式表示十六进制数,例如:(8FA.5)16或8FA.5H。
      例如:写出(8FA.5)16的十进制数表达式。
      (8FA.5)16=8×162+15×161+10×160+5×16-1=(2298.3125)10

       四、八进制数

      八进制计数法的特点是:
      有八个不同的计算符号0、1、2、3、4、5、6、7,这八个符号称为数码。
       采用逢八进一的原则。对应于十进制数0、1、2、3、4、5、6、7、8,八进制数分别记作0、1、2、3、4、5、6、7、8、10。

      下表列出了十进制0~16对应的二进制数和十六进制数。

    十进制数
    二进制数
    十六进制数
    0
    0000
    0
    1
    0001
    1
    2
    0010
    2
    3
    0011
    3
    4
    0100
    4
    5
    0101
    5
    6
    0110
    6
    7
    0111
    7
    8
    1000
    8
    9
    1001
    9
    10
    1010
    A
    11
    1011
    B
    12
    1100
    C
    13
    1101
    D
    14
    1110
    E
    15
    1111
    F
    16
    10000
    10

      五、十进制数转化为非十进制数

      十进制转换数转换为非十进制数时,可将其分为整数部分和小数部分分别进行转换,最后将结果合并为目的数。

      ● 整数部分的转换
      整数部分的转换是采用除基取余法。所谓除基取余法就是用欲转换的数据的基数去除十进制数的整数部分,第一次除取得的余数为目的数的最低位,把得到的商再除以该基数,所得余数为目的数的次低位,依此类推,继续上面的过程,直到商为0时,所得余数为目的数的最高位。
      例 将十进制53D转换为二进制数(7-2)。

      53D=110101B

      ●小数部分的转换 
      小数部分的转换是采用乘基取整法。所谓乘基取整法就是用该小数乘上目的数制的基数,第一次乘得结果的整数部分为目的数的小数部分的最高位,其小数部分再乘上基数,所得结果的整数部分为目的数的次高位,依此类推,继续上述的过程,直到小数部分为0或达到要求的精度为止。
      
      从上面可以看出该数在转换为二进制时,尽管已经过了解5次相乘,但其小数位还存在,由于题目要求保留小数后4位,故结果为:0.736D≈0.1011B或0.736D≈0.1100B。

      六、非十制数转换成十进制数

      由于任一数都可以按权展开,于是很容易将一个非十进制数转换为相应的十进制数。具体的步骤是:将一个非十进制按权展开成一个多项式,每项是该位的数码与相应的权之积,把多项式按十进制数的规则进行计算机求和,所得结果即是该数的十进制。
      

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

      四位二进制数共有十六种组合,而十六种组合正好与十六进制的十六种组合一致,故每四位二进制数对应于一位十六进制数,因此二进制数与十六进制之间的转换非常简单。下面通过两个例子来说其转换:
      

      从上面例子可以总结出两种进制转换的方法:
      ★二进制转换为十六进制时:只要将二进制数的整数部分自右向左每四位一组,最后不足四位的用零补足;小数部分则自左向右每四位一组,最后不足四位时在右边补零。再把每四位二进制数对应的十六进制数写出来即可。 
      ★十六进制数转换为二进制数的正好与此相反,只要将每位的十六进制数对应的四位二进制写出来即行了。

      常用编码

      BCD编码

      在数字系统中,各种数据要转换为二进制代码才能进行处理,而人们习惯于使用十进制数,所以在数字系统的输入输出中仍采用十进制数,这样就产生了用四位二进制数表示一位十进制数的方法,这种用于表示十进制数的二进制代码称为二-十进制代码(Binary Coded Decimal),简称为BCD码。它具有二进制数的形式以满足数字系统的要求,又具有十进制的特点(只有十种有效状态)。在某些情况下,计算机也可以对这种形式的数直接进行运算。常见的BCD码表示有以下几种。

    8421BCD编码

      这是一种使用最广的BCD码,是一种有权码,其各位的权分别是(从最有效高位开始到最低有效位)8,4,2,1。
       写出十进数563.97D对应的8421BCD码。
        563.97D=0101 0110 0011 . 1001 01118421BCD
       写出8421BCD码1101001.010118421BCD对应的十进制数。
        1101001.010118421BCD=0110 1001 . 0101 10008421BCD=69.58D
      在使用8421BCD码时一定要注意其有效的编码仅十个,即:0000~1001。四位二进制数的其余六个编码1010,1011,1100,1101,1110,1111不是有效编码。

    2421BCD编码

      2421BCD码也是一种有权码,其从高位到低位的权分别为2,4,2,1,其也可以用四位二进制数来表示一位十进制数。其编码规则如下表。

    余3码

      余3码也是一种BCD码,但它是无权码,但由于每一个码对应的8421BCD码之间相差3,故称为余3码,其一般使用较少,故正须作一般性了解,具体的编码如下表。

    常见BCD编码表

    十进制数
    8421BCD码
    2421BCD码
    余3码
    0
    0000
    0000
    0011
    1
    0001
    0001
    0100
    2
    0010
    0010
    0101
    3
    0011
    0011
    0110
    4
    0100
    0100
    0111
    5
    0101
    1011
    1000
    6
    0110
    1100
    1001
    7
    0111
    1101
    1010
    8
    1000
    1110
    1011
    9
    1001
    1111
    1100
    10
    0001,0000
    0001,0000
    0100,0011

     

      格雷反射码(循环码)

      格雷码是一种无权码,其特点是任意两个相邻的码之间只有一个数不同。另外由于最大数与最小数之间也仅一个数不同,故通常又叫格雷反射码或循环码。

    十进制数
    二进制数
    格雷码
    十进制数
    二进制数
    格雷码
    0
    0000
    0000
    8
    1000
    1100
    1
    0001
    0001
    9
    1001
    1101
    2
    0010
    0011
    10
    1010
    1111
    3
    0011
    0010
    11
    1011
    1110
    4
    0100
    0110
    12
    1100
    1010
    5
    0101
    0111
    13
    1101
    1011
    6
    0110
    0101
    14
    1110
    1001
    7
    0111
    0100
    15
    1111
    1000

    展开全文
  • 单精度浮点数转化10进制数的原理

    千次阅读 2020-09-17 17:58:41
    在做MODBUS通讯时经常会用到单精度浮点数来表示测量值,比如41 20 00 00代表十进制的10,代码可以轻松实现转换,但是他是怎么计算出来的呢?查了一些资料后我知道了计算的方法,在此记录一下。 举个栗子: 比如10...
  • 汇编语言基础知识汇编语言组成汇编指令:就是机器...有+,-号机器数:0,1代替加减号机器数:原码:最高位符号位,其余七位数值位反码补码字节:8位二进制数字:16位二进制数,两个字节双字:32位二进制数,...
  • 进制转换

    2021-02-23 19:54:34
    其他进制转十进制:从右向左,第一个数乘20(即1),第个数乘21,以此类推。 T1:进制转换 题目描述 输入一个十进制下的正整数 N 和 R,输出这个整数N对应的R进制数。 输入 一行,包含两个正整数N和R。(N<=1e9,2&...
  • 二进制若干问题证明

    2018-01-13 10:52:41
    注:此资料来源于参考答案。本人LaTex打出。推荐使用第二种写法,大大减少LaTex的书写量。 1.证明二进制负数的补码等于反码加一 ...将x表示为十进制 x=d0⋅20+d1⋅21+⋯+dn−1⋅2n−1x=d_0\cdot2
  • 7 IP地址转换 (20分)——进制转换

    千次阅读 2017-03-11 20:13:16
    进制转换知识建议参考——百度百科PTA原题链接7 IP地址转换 (20分)一个IP地址是四个...在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间“.”分隔开。输入样例: 1100110
  • 进制转换工具类

    2021-03-12 16:34:26
    * 例如十进制数57,在二进制写作111001,在16进制写作39。<br> * 像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的32,而不是十进制的20<br> * * ...
  • 二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位一组一位八进制数的数字表示,不足3位的要“0”补足3位,就得到一个八进制数。 【例】:10001111 010 001 111 2 1 7 所以10001111的...
  • 彻底弄明白十六进制

    千次阅读 2012-06-26 10:50:29
    十六进制举例说明 10进制的32表示成16进制就是:20  16进制的32表示成10进制就是:3×16^1+2×... 所以,设有一个二进制数:101100100,转换10进制:356  横式计算  0 X2^0 + 0X 2^1 + 1X 2^2 + 0
  • bin(13)'0b1101'十进制转成八进制和十六进制'{0:x}'.format(20) 转换成十六进制'{0:o}'.format(20) 转换成八进制进制转换的时候用{0:进制}八进制转为二进制:比如八进制数 (37)8拆开 3 73用二进制表示为 117用二...
  • Java进制转换工具类

    千次阅读 2017-07-12 17:09:12
    import java.nio.charset.Charset;... * 例如十进制数57,在二进制写作111001,在16进制写作39。<br> * 像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20
  • 进制转换 PTA 7-6 IP地址转换

    千次阅读 2020-05-26 08:53:34
    在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间“.”分隔开。 输入样例: 11001100100101000001010101110010 输出样例: 204.148.21.114 思路 : 按部就班的一位位...
  • 《2019年江苏专转本考试-计算机基础必刷题题库(第一章)》一、填空 共29题 ...答案:11111111第3题 十进制数20用二进制数表示为(5位二进位表示)____。答案:10100第4题 PC机上使用的外存储器主要有:硬盘、优盘、移...
  • 转换程序实际应用中经常遇到数制和码制的转换...1)题目分析1字节压缩BCD表示的十进制数的范围是0~99,十六进制表示为00H~63H,转换后仍为单子节。可以采用以下两种算法实现。2)参考程序方法1:十位×10+个位MOV...
  • 对于二进制换算为十进制:(A3A2A1A0)2=A3×23+A2×22+A1×21+A0×20对于(A3A2A1A0)2这样一个二进制数,最左边的A3位称为最高位(MSB),最右边的A0位称为最低位(LSB)。通常把LSB称为第0位而不是第1位。 ...
  • 32位的电脑中,用二进制表示,最大的就是32个1,用十进制表示为2^32-1,大概40多亿(4294967295) 对于有符号的,第一位用作表示正负(0,1),最大的就是31个1,用十进制表示为2^31-1,大概20多个亿(2147483647) ...
  • 回文平方

    千次阅读 2017-03-23 13:39:04
    给定一个进制B(2≤B≤20,由十进制表示),输出所有的大于等于1小于等于300(十进制下)且它的平方B进制表示时是回文’A’,’B’……表示10,11等等。 输入包括一行,一个十进制的整数B 输出所有B进制...
  • 计蒜客 回文平方

    2017-03-23 20:42:56
    给定一个进制B(2≤B≤20,由十进制表示),输出所有的大于等于1小于等于300(十进制下)且它的平方B进制表示时是回文’A’,’B’……表示10,11等等。 输入包括一行,一个十进制的整数B 输出所有B进制...
  • 给定一个进制B(2≤B≤20,由十进制表示),输出所有的大于等于1小于等于300(十进制下)且它的平方B进制表示时是回文’A’,’B’……表示10,11等等。 输入包括一行,一个十进制的整数B 输出所有B进制...
  •  小明要用二进制来表示 1 到 10000 的所有整数,要求不同的整数用不同的二进制数表示,请问,为了表示 1 到 10000 的所有整数,至少需要多少个二进制位? 答案提交  这是一道结果填空的题,你只需要算出结果后提交...
  • 题目 一个IP地址是四个字节(每个字节8...在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间“.”分隔开。 输入样例: 11001100100101000001010101110010 输出样例: 20...
  • IP地址转换 (20 分)

    2019-05-12 06:59:50
    IP地址转换 (20 分) 一个IP地址是四个字节(每个字节8个...在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间“.”分隔开。 输入样例: 1100110010010100000101010111001...
  • 7-7 IP地址转换(20 分)

    万次阅读 2018-08-13 10:06:28
    一个IP地址是四个字节(每个字节8个位...在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间“.”分隔开。 输入样例: 11001100100101000001010101110010 输出样例: 20...
  • 7-14 IP地址转换 (20 分)

    千次阅读 2019-05-22 15:36:52
    一个IP地址是四个字节(每个字节8个位...在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间“.”分隔开。 输入样例: 11001100100101000001010101110010 输出样例: 20...
  • 7-24 IP地址转换 (20分)

    千次阅读 2020-01-18 15:06:11
    7-24 IP地址转换 (20分) 一个IP地址是四个字节(每个字节8个位)...在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间“.”分隔开。 输入样例: 110011001001010000010...
  • 7-7 IP地址转换 (20 分)

    千次阅读 2019-04-18 21:07:14
    7-7 IP地址转换 (20 分) 一个IP地址是四个字节(每个字节8...在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间“.”分隔开。 输入样例: 110011001001010000010101011...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 231
精华内容 92
关键字:

十进制数20用二进制数表示为