精华内容
下载资源
问答
  • 主要介绍了C语言用栈实现十进制转换二进制的方法,结合实例形式分析了C语言栈的定义及进制转换使用技巧,需要的朋友可以参考下
  • 通过新建栈、用出栈和入栈将十进制转换成二进制
  • 利用数组和调用函数编写一个十进制转换成二进制的程序 #include "stdio.h" int main(){ int i = 0, n , a[32]; printf("请输入一个十进制正整数:\n"); scanf("%d",&n); for ( ; n>0 ; n /= 2) { a[i++] ...

    利用数组和调用函数编写一个十进制转换成二进制的程序

    #include "stdio.h"
    int main(){
        int i = 0, n , a[32];
        printf("请输入一个十进制正整数:\n");
        scanf("%d",&n);
        for (  ; n>0  ; n /= 2) {
            a[i++] = n%2;
        }
        printf("输出二进制数 :\n");
        for(i--;i>=0;i--){
            printf("%d",a[i]);
        }
        return 0;
    }
    
    
    展开全文
  • c语言 十进制转换成二进制 递归实现

    千次阅读 多人点赞 2019-01-05 17:09:13
    c语言 十进制转换成二进制 递归实现,函数代码很短,但是很难懂! int fun(int n) //十进制转换成二进制递归函数 { if(n) //递归停止的条件 { fun(n/2); //递归 printf("%d",n&1); } } ...

    c语言 十进制转换成二进制 递归实现,函数代码很短,但是很难懂!
    这里再附上最近写的十进制转换二进制–栈实现

    int fun(int n)	//十进制转换成二进制递归函数 
    {
    	if(n)	//递归停止的条件 
    	{
    		fun(n/2);	//递归 
    		printf("%d",n&1);
    	}
    }
    

    在理解这个递归函数之前,先学了学递归是怎么实现的。
    例如:

    int fun1(int n)	//随便写的递归函数
    {
    	if(n)	//递归终止条件 
    	{
    		printf("%d  ",n);
    		fun1(n/2);
    		printf("%d  ",n);
    	}
    }
    

    根据这个函数运行,输入n=12,则输出的是12 6 3 1 1 3 6 12。
    为了能直观的看出递归函数是怎么运行的,需要进行拆分;上面这个函数可以拆分成这样。

    int fun1(int n)	//假设你=12
    {
    	if(n)
    	{
    		printf("%d  ",n);
    		int fun1(n=6)
    		{
    			if(n) 
    			{
    				printf("%d  ",n);
    				int fun1(n=3)
    				{
    					if(n)
    					{
    						printf("%d  ",n);
    						int fun1(n=1)
    						{
    							if(n)
    							{
    								printf("%d  ",n);
    								int fun1(n=0)
    								{
    									if(n) 
    									{
    										printf("%d  ",n);
    										printf("%d  ",n);
    									}
    								}
    								printf("%d  ",n);
    							}
    						}
    						printf("%d  ",n);
    					}
    				}
    				printf("%d  ",n);
    			}
    		}
    		printf("%d  ",n);
    	}
    }
    

    拆分出来的代码不能运行,因为函数中不能定义函数。
    代码是自上向下运行的,所以就不难看出递归函数输出的是12 6 3 1 1 3 6 12。
    通过理解这个举例的递归函数,这个十进制转换成二进制递归函数就变得简单了;总代码如下:

    #include <stdio.h>
    #include <stdlib.h>
    
    int fun(int n)	//十进制转换成二进制递归函数 
    {
    	if(n)	//递归停止的条件 
    	{
    		fun(n/2);	//递归 
    		printf("%d",n&1);
    	}
    }
    
    int main()
    {
    	int a;
    	scanf("%d",&a);		//输入要转换成二进制的数 
    	fun(a);		//运用函数 
    	system("pause");
    	return 0;
    }
    
    
    展开全文
  • 一、绪论 十六进制(Hexadecimal):在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或...著名的英国科学史学家李约瑟教授曾对中国商代记数法予以很高的评价,"如果没有这种十进制,就几乎不可能出现我...

    一、绪论

    十六进制(Hexadecimal):数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15。

    十进制(Decimal System):每相邻的两个计数单位之间的进率都为十;十进制是中华民族的一项杰出创造,在世界数学史上有重要意义。著名的英国科学史学家李约瑟教授曾对中国商代记数法予以很高的评价,"如果没有这种十进制,就几乎不可能出现我们现在这个统一化的世界了",李约瑟说:"总的说来,商代的数字系统比同一时代的古巴比伦和古埃及更为先进更为科学。"

    八进制(Octal):一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。

    二进制(binary):数学数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示。

    二、进制之间转换原则

    转换原则:不同进制之间的转换本质就是确定各个不同权值位置上的数码。转换正整数的进制的有一个简单算法,就是通过用目标基数作长除法;余数给出从最低位开始的“数字”

    基于上述原则详细解释十进制转换成二进制:

    十进制整数部分转换:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

    十进制小数部分转换:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

    三、具体代码

    #include <stdio.h>
    #define BASE_SIZE 32
    #define HEX 16
    
    int binary_conversion( int value_t , int target_system_t )
    {
      int value = value_t;
      int target_system = target_system_t;
      int target_value [BASE_SIZE] = {0};
      int target_value_i = 0;
      while( value )
      {
       target_value[target_value_i] = value % target_system; 
       value = value / target_system;
       target_value_i++;
      }
    
        if( target_system == HEX )
        {
            for( ; target_value_i >= 0; target_value_i-- )
    	    {
    		  printf( "%x", target_value[target_value_i] );
    	    }
        }else{
    	    for( ; target_value_i >= 0; target_value_i-- )
    	    {
    		  printf( "%d", target_value[target_value_i] );
    	    }
    	}
    	return 0;
    }
    
    int mian( void )
    {
        int input_value = 0; 
        int target_system = 0;
        scanf( "%d,%d", &input_value, &target_system ); 
        binary_conversion( input_value, target_system );
        return 0;
    }

    int binary_conversion( int value_t , int target_system_t )函数就是实现十进制与其他进制数之间的转换,输入参数value_t就是需要转换的数值, 输入参数target_system_t 就是需要把十进制转换为哪种进制数。

    展开全文
  • C语言实现十进制转换成二八十六进制的转换,代码已经经过调试可以使用,放心下载!
  • 十进制转换成二进制和十六进制的方法 十进制数转换成二进制数-般分为两个步骤,即整数部分的转换和小数部分的转换。 (1 )整数部分的转换 *除2取余法:*这种方法是由于D10=N2 =dn-1x2n-1十dn-2x2n-2 +… d1x21十d0x20,...

    十进制转换成二进制和十六进制的方法
    十进制数转换成二进制数-般分为两个步骤,即整数部分的转换和小数部分的转换。
    (1 )整数部分的转换
    *除2取余法:*这种方法是由于D10=N2 =dn-1x2n-1十dn-2x2n-2 +… d1x21十d0x20,所以具体方法是把给定的十进制整数除以2,取其余数作为二进制整数最低位的系数do,然后继续将整数部分除以2,所得余数作为二进制整数次低位的系数d1,一直重复下去,最后可以得到二进制整数部分。
    例:将(327)10转换成二进制数
    在这里插入图片描述
    所以,(327)10=d8 d7 d6 d5 d4 d3 d2 d1 d0=(101000111)2。
    此方法可扩展为陈R取余法。如将R设为16,则可将十进制整数转变为十六进制整数。
    *减权定位法:*因为D10= N2=dn-1x2n-1十dn-2x2n-2 +… d1x21十d0x20,所以二进制多项式中的每一项都有自己的权值。若该项系数值为d F0,则该项值为0,否则d i应为1。根据这一对应关系,可提出减权定位的转换方法:将十进制数依次从二进制高位权值进行比较:若够减则对应位d F1,减去该位权值后再往下比较;若不够减则对应值d F0,越过该位与低一位的权值比较,如此进行直到余数为0为止。
    例如:将(327)10 转换成二进制数。因为512(29)>327>256(28),所以从权值256对应值开始比较。
    在这里插入图片描述
    所以,(327)10=(101000111)2 。:
    (2)小数部分的转换
    转换的方法是采用乘2取整数表示法。由于D10=d-1x2-1十d-2x2-2 +…d- mx2-m,所以具体方法是把给定的十进制小数乘以2,取其整数部分作为二进制小数的小数点后的第- -位系数;然后再将乘积的小数部分继续剩以2,取所得积的整数部分作为小数后的第二位系数;依次重复做下去,就可以得到二进制小数部分。
    例:将(0. 8125) 10转换成二进制小数。
    在这里插入图片描述
    所以,(0. 8125)10=d0 d1 d2 d3 d4=(0.1101)2。
    在计算中可以按照所需的小数点位数,取其结果位近似值。
    此方法可以扩展为乘R取整法.如将R变为16,则可将十进制小数部分直接变为十六进制小数。
    十进制转换成二进制和十六进制方法一样。

    展开全文
  • c++如何将十进制转换成二进制

    千次阅读 2019-05-19 20:08:08
    #include<iostream> using namespace std; int main() { int n; while(cin>>n)// 输入多组数据 ...// 定义一个数组用于存储二进制的每一位 int m=0;// 从数组的第0位开始储存 wh...
  • 十进制转换成二进制源码
  • 用栈实现十进制转换成二进制(c语言)用栈实现十进制转换成二进制(c语言)用栈实现十进制转换成二进制(c语言)
  • C语言实现十进制转换成二进制

    千次阅读 2018-02-06 21:10:49
    #include  //现定义一个数组,然后把用2整除这个数,得到商和余数,再用商继续除以2,直到值为0结束循环, ...printf("请输入一个十进制整数 N ="); scanf_s("%d",&n); while(n!=0){ temp=n%2; s
  • 十进制转换成二进制 void conversion(){ InitStack(S); scanf(“%d”,n); while(N){ Push(S,n%2) n=n/2; } while(!StackEmpty(S)){ Pop(S,e); printf(“%d”,e); } }//conversion
  • 我们看到所转换的2进制数按底位到高位的顺序产生的,而通常的输出是从高位到低位的,恰好与计算过程相反,因此转换过程中每得到一位2进制数则进栈保存,转换完毕后依次出栈则正好是转换结果。 请实现其算法。
  • 主要介绍了位运算实现十进制转换二进制的相关资料,需要的朋友可以参考下
  • labview 十进制转换二进制,比较简单的一种方法,还可以用在其他方面
  • 十进制转换成二进制(左边补零)

    千次阅读 2019-08-11 16:16:31
    十进制转换成二进制,左边补零
  • 本文实例讲述了PHP实现十进制二进制、八进制和十六进制转换相关函数用法。分享给大家供大家参考,具体如下: 1.二进制: 1.1.二进制十进制: 函数:bindec(string $binary_string) @param $binary_string 参数...
  • 适用于将二进制转换十进制,A为十进制,B为二进制。{A,B}每次左移一位,判断A的每四位是否>4,若大于四则+3,否则保持不变;B为多少位二进制数则左移多少次。最终A是B转换成十进制的数。代码为32位二进制转换...
  • 十进制成二进制,最快的方法就是位运算 十进制数528的二进制码为:0000001000010000 将其取反(求反码)后的结果:1111110111101111 将反码加一(求补码)后结果:1111110111110000 所以,-528的二进制码为...
  • 十进制转换成二进制,除法实现 闲话少叙,直入正题。思路、过程见注释。 // 日期:2019-03-11 // 作者:拥抱Linux // 用求余的方式,把十进制数转换为二进制数 // 表示范围,int型的范围,-2^31 ~ 2^31-1,即...
  • (递归)十进制转换成二进制

    千次阅读 2017-11-05 15:39:56
    输入样例:10输出样例:1010...代码如下(不能实现对0的二进制转换)void dectobin( int n ) { if(n==0) return ; dectobin(n/2); printf("%d",n%2); }于是,加了个标志位,对于0单独处理。 ac代码如下。int f
  • 使用堆栈实现十进制转换成二进制

    千次阅读 2017-03-30 22:15:28
    计算十进制转换成二进制的方式非常类似堆栈的后进先出的方式(LIFO),所以可以使用下面的代码实现#include #include #include <malloc.h>#define SIZE_INTI_STACK 100 //确定栈的初始长度 #define SIZE_OF_NEW_...
  • C语言-顺序栈实现十进制转换二进制-八进制-十六进制
  • 主要介绍了python十进制二进制转换方法(含浮点数),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 主要介绍了C# 进制转换的实现(二进制、十六进制、十进制互转),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 计算机内部对数据的存储是利用二进制的方式实现的,为了更深入的了解二进制并能够熟练的进行十进制二进制转换的计算,尝试使用java语言实现该算法。   备注:以前写的,现在放上来。 计算思路: 整数部分...
  • 主要介绍了Python实现的十进制小数与二进制小数相互转换功能,结合具体实例形式详细分析了二进制十进制相互转换的原理及Python相关实现技巧,需要的朋友可以参考下
  • 介绍了C++ 十进制转换二进制的实例代码,有需要的朋友可以参考一下
  • 数据结构|用栈实现十进制转换成二进制(实验3.5)

    万次阅读 多人点赞 2017-10-25 15:04:45
    、实验内容 1、自己确定结点的具体数据类型和问题规模,建立一个顺序栈,实现栈的压栈和出栈操作。 三、实验步骤 1、依据实验内容分别说明实验程序中用到的数据类型的定义; class SeqStack { private: ...
  • 常用的进制有二进制,八进制,十进制,十六进制。 二.将整数转换成十六进制 二.一 将int整数转换成十六进制(一) 先写一个主方法,接下来,所有的方法都是通过main 方法来调用的。 不用Junit测试。 做静态的方法,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 246,315
精华内容 98,526
关键字:

十进制转换成二进制