精华内容
下载资源
问答
  • C语言入门者
  • 主要介绍了C语言十进制转二进制代码实例,并且转换后会统计二进制1的个数,实例简单明了,需要的朋友可以参考下
  • C语言十进制转二进制

    2012-12-04 20:43:07
    整形十进制数据转二进制,用十进制01序列输出
  • 十进制转换二进制主要采用的是连除倒取余的方法 代码如下  int num = 8; int tempArr[32]={0}; int i = 0; while (num / 2 != 1 ) { tempArr[i] = num % 2; num /=2; i++; } ...

    十进制转换二进制主要采用的是连除倒取余的方法  代码如下

      int num = 8;

        int tempArr[32]={0};

        int i = 0;

        while (num / 2 != 1 ) {

            tempArr[i] = num % 2;

            num /=2;

            i++;

        }

        

        tempArr[i+1] = 1;

        for (int j = sizeof(tempArr)/sizeof(int)-1; j>=0; j--) {

            printf("%d", tempArr[j]);

        }

    转载于:https://www.cnblogs.com/zyw1991/p/4035680.html

    展开全文
  • 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 输入: 输入可能包含多个测试样例。对于每个输入文件,第一行输入一个整数T,代表测试样例的数量。对于每个测试样例输入为一个整数。。n保证...

    在一些高级语言中都有现成的将各种进制之间的转换函数,c语言中没有这种函数,自己写也很方便。这是我在一本书上看到的一道题。

    题目描述:

    输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

     

    输入:

    输入可能包含多个测试样例。
    对于每个输入文件,第一行输入一个整数T,代表测试样例的数量。对于每个测试样例输入为一个整数。
    。n保证是int范围内的一个整数。

     

    输出:

    对应每个测试案例,
    输出一个整数,代表输入的那个数中1的个数。

     

    样例输入:
    3
    4
    5
    -1
    样例输出:
    1
    2
    32

    给出我的答案:
     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 //int binary[32];
     4 int main()
     5 {
     6     int i,m,count;
     7 
     8     while (scanf("%d",&m)!=EOF)
     9     {
    10         count=0;
    11         //memset(binary,0,sizeof(binary));
    12         for (i=31;i>=0;i--)
    13         {
    14             if (m>>i&1)
    15                 count++;
    16         }
    17         printf("%d\n",count);
    18     }
    19     return 0;
    20      //printf("Hello world!\n");
    21     //return 0;
    22 }

     

    转载于:https://www.cnblogs.com/lianwl/p/3203886.html

    展开全文
  • c语言 十进制转换二进制 递归

    千次阅读 2020-03-17 17:07:16
    本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include <stdio.h> void ...

    本题要求实现一个函数,将正整数n转换为二进制后输出。

    函数接口定义:

    void dectobin( int n );
    

    函数dectobin应在一行中打印出二进制的n。建议用递归实现。

    裁判测试程序样例:

    #include <stdio.h>
    
    void dectobin( int n );
    
    int main()
    {
        int n;
    
        scanf("%d", &n);
        dectobin(n);
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

    我的答案:

    void dectobin(int n) 
    {
    	int result = 0;
    
    	if (n == 0) 
    	{
    		printf("0");
    	}
    	else if (n == 1) 
    	{
    		printf("1");
    	}
    	else 
    	{
    		dectobin(n / 2);//这里用到了递归
    		result = n % 2;
    		printf("%d", result);
    	}
    }
    
    

    这里要注意对递归的理解
    这里如果n没有对于0,1的话
    会一直递归
    直到n等于0或1才停止
    最后输出是从较小的n向较大n顺序输出的

    展开全文
  • 十进制转二进制有个计算公式,就是除以2取余再倒序显示余数就是了。可以根据公式写。八制进公式也同理。十六进制有点不一样,大于9的要转为字母。A,B,C,D,E,F。 #include void totwo(); void toeight(); void ...

    C语言十进制转换二进制八,十六进制。

    十进制转二进制有个计算公式,就是除以2取余再倒序显示余数就是了。可以根据公式写。八制进公式也同理。十六进制有点不一样,大于9的要转为字母。A,B,C,D,E,F。

    #include <stdio.h>
    void totwo();
    void toeight();
    void tosixt();
    int main()
    { 
    	totwo();
    	toeight();
    	tosixt();
        return 0;
    }
    void totwo()
    {
    	int p,m,n,a[100];
    	printf("十进制转二进制\n");
    	printf("输入十进制数:");
    	scanf("%d",&p);
    	for(m=0;p>0;m++)
    	{
    		a[m]=p%2;
    		p=p/2;
    	}
    	
    	for(n=m-1;n>=0;n--)
    		printf("%d",a[n]);
    	printf("\n");
    }
    void toeight()
    {
    	int p,m,n,a[100];
    	printf("十进制转八进制\n");
    	printf("输入十进制数:");
    	scanf("%d",&p);
    	for(m=0;p>0;m++)
    	{
    		a[m]=p%8;
    		p=p/8;
    	}
    	
    	for(n=m-1;n>=0;n--)
    		printf("%d",a[n]);
    	printf("\n");
    }
    
    void tosixt()
    {
    	int p,m,n,a;
    	char ch[100];
    	printf("十进制转十六进制\n");
    	printf("输入十进制数:");
    	scanf("%d",&p);
    	for(m=0;p>0;m++)
    	{
    		a=p%16;
    		if(a<10)
    		{
    			ch[m]=a+'0';
    		}else
    		{
    			ch[m]=a-10+'A';
    		}
    		p=p/16;
    	}
    	
    	for(n=m-1;n>=0;n--)
    		printf("%c",ch[n]);
    	printf("\n");
    }

    --11-2二进制转十进制。也是有一个公式,比如二进制1010对应十进制是10,从前面位开始1*2^3+0*2^2+1*2^1+0*2^0=8+2=10.还有就是判断输入的是不是二进制数了。

    #include<stdio.h>
    void towtoten();
    int pow(int a);
    int main()
    {
        towtoten();
    	return 0;
    }
    void towtoten()
    {
    	int temp,n=0,i,j,sum=0;
    	char p,a[100];
    	printf("\n二进制转十进制\n");
    	printf("输入二进制数:");
    	while((p=getchar())!='\n')
    	{	
    		a[n]=p;
    		n++;
    	}
    	j=n;
    	for(i=0;i<n;i++)
    	{
    		
    		if(a[i]=='.')
    		{
    			printf("不支持小数。");
    			towtoten();
    			return;
    		}
    		if(a[i]=='-')
    		{
    			printf("不支持负数。");
    			towtoten();
    			return;
    		}
    		if(a[i]!='1'&&a[i]!='0')
    		{
    			
    			printf("输入有误,不是二进制数。");
    			towtoten();
    			return;	
    		}
    		
    		if(a[i]=='1')
    		{
    			temp=pow(j-1);
    		}else
    		{
    			temp=0;
    		}
    		sum+=temp;
    		j--;
    	}
    	printf("十进制数:%d",sum);
    	printf("\n");
    }
    
    
    int pow(int a)
    {
    	int product=1;
    	for(int i=0;i<a;i++)
    	{
    		product*=2;
    	}
    	return product;
    }

     

    转载于:https://my.oschina.net/oisanblog/blog/759255

    展开全文
  • 借助栈的特性,十进制转二进制转换用递归写还蛮方便的 #include<stdio.h> void Dec2Bin(int num){ if(num==1) //num等于1 最后一项了 结束递归 { printf("%d",num); return; } Dec2Bin(num/2); ...
  • 十进制转二进制补码(正负都可) 指针初学 将一个十进制正(负)整数转换为对应的二进制补码(用指针完成 十进制转二进制:1.先判断该整数是正数还是负数 如果是正数则二进制补码首位为1 , 且对应的二进制补码就是原. 如果...
  • C语言 十进制转二进制 使用递归

    千次阅读 2017-10-08 18:07:47
    #include void decimalToBinary(int n); void main() { int n; char again; do { printf("输入10进制:"); scanf("%d",&n); printf("%d的二进制:",n); decimalToBinary(n);
  • 输入十进制数:");  scanf("%d",&n);  printf("八进制为:%o\n",n);  printf("十六进制为:%x\n",n);  while(n!=0)  {...
  • c语言十进制转二进制两种方法

    千次阅读 2018-02-11 13:25:24
    void fun25(void) {  int i, j, num;  unsigned ask = 0x8000; scanf("%d", &num); //方法一 for (i = 0;... //方法 while (num != 0) { printf("%d", num % 2); num /= 2; } }  
  • C语言十进制转二进制怎么转?

    千次阅读 2013-09-05 12:04:41
    二进制转化为十进制  #include  #include  int main()  {  char a[33];  int i, num = 0;  scanf("%s", a);  for(i=strlen(a)-1; i>=0; i--)  {  num*=2; /*如果用位运算的话,速度会更快*/...
  • #将10进制转为x进制 def change10_x ( n , x ) : string = '' while n != 0 : m = n % x string += str ( m ) n = int ( n / x ) return string [ : : - 1 ]
  • //最后再二进制pwm_table return transform_data_zhengshu(sum,pwm_table); } //正数 return transform_data_zhengshu(frequence,pwm_table); } int main(){ int frequence = -2; //scanf(...
  • #include int main() { int i, n, y; double x[32]; scanf("%d", &n); for (; n != 0;) {y = 0; for (i = n; i != 0;) { x[y++] = i % 2; i = i / 2; } for(**y--**;...}

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,179
精华内容 471
关键字:

c语言十进制转二进制

c语言 订阅