精华内容
下载资源
问答
  • 主要介绍了C语言十进制转二进制代码实例,并且转换后会统计二进制1的个数,实例简单明了,需要的朋友可以参考下
  • 一、绪论 十六进制(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语言)

    万次阅读 多人点赞 2019-07-21 15:35:25
    十进制转为二进制 如输入:13 输出:1101 C语言相关代码 #include<stdio.h> int fact(int n) { if(n<2) //将 2 换成其它数如 8 就可输出 8 进制的结果 return n; else { return fact(n/2)*...

    将十进制转为二进制
    如输入:13 输出:1101

    C语言相关代码
    #include<stdio.h> 
    int fact(int n) 
    { if(n<2)                       //将 2 换成其它数如 8 就可输出 8 进制的结果
     return n; 
     else
      { return fact(n/2)*10+n%2;                     //将二进制结果整个输出 
      } 
    } 
    int main(void) { 
    int n;
    printf("Entern:"); 
    scanf("%d",&n); 
    printf("%d",fact(n)); 
    return 0;
    }
    
    
    展开全文
  • 在键盘上输入一个十进制正整数,将其转换为对应的二进制数,并在屏幕上输出! 方法一: #include <stdio.h> typedef struct binary { long remainder; //余数 long binary; //二进制数 } Binary; ...

    在键盘上输入一个十进制正整数,将其转换为对应的二进制数,并在屏幕上输出!

    方法一:

    #include <stdio.h>
    int main()
    {
        int num;int temp;int i=0;
        int arr[20];
        printf("请输入一个十进制数:\n");
        scanf("%d", &num);
         do
        {
        temp=num%2;
        num=num/2;
        arr[i++]=temp; 
        }
        while (num!=0);
        for (int j = i-1; j>=0; j--)
       printf("%d",arr[j]);
    }

    方法二:

    #include <stdio.h>

    int main()

    {

        int remainder = 0; //余数 ,二进制输出为0,1组成,这里最好用long, int的表示范围较小;

        int binary = 0;    //二进制数

        int i = 1;

        int num = 0;

        printf("请输入一个正整数:\n");

        scanf("%ld", &num);

        if (num >= 0)

        {

            while (num != 0)

            {

                remainder = num % 2;

                binary += i * remainder;

                num /= 2;

                i *= 10;

            }

            printf("这个数转为二进制为:%ld", binary);

        }

        else

            printf("您输入的数非法!");

        return 0;

    }

    展开全文
  • C语言-顺序栈实现十进制转换为二进制-八进制-十六进制
  • 十进制转二进制C语言

    千次阅读 2018-10-02 16:11:38
    算法分析:在实现模2取余后需要逆序输出,这个地方通过不断乘以10,不需要再通过数组或者逆序函数来实现。 #include int Decimal(int n) ... printf("%d 的二进制为:%d\n",n,ret); return 0; }  

    算法分析:在实现模2取余后需要逆序输出,这个地方通过不断乘以10,不需要再通过数组或者逆序函数来实现。

    #include <stdio.h>
    
    int Decimal(int n)
    {
    	int result=0,k=1;
    	int i;
    	while(n){
    		i=n%2;
    		result = k*i + result;
    		k = k*10;
    		n = n/2;
    	}
    	return result;
    }
    
    int main()
    {
    	int n,ret=0;
    	printf("请输入十进制的数:");
    	scanf("%d",&n);
    	ret=Decimal(n);
    	printf("%d 的二进制为:%d\n",n,ret);
    	return 0;
    }

     

    展开全文
  • C语言十进制转换为二进制C语言十进制转换为二进制完整源码 C语言十进制转换为二进制完整源码 #include <stdio.h> #include <stdlib.h> #define MAXBITS 100 int main() { // input of the user int ...
  • C语言十进制转换为二进制数的方法和示例

    万次阅读 多人点赞 2020-04-18 22:46:34
    C语言中,整数都是以二进制的形式存放在内存中,所谓的二进制、八进制、十进制和十六进制只是输出显示方式的不同。 下表是各种进制整数的输出格式。 细心的读者可能会发现,上表中没有二进制的输出格式,不能使用 ...
  • C语言实现十进制转二进制

    万次阅读 多人点赞 2017-10-13 08:18:11
    代码如下:# include <stdio.h>int main() { int i, n = 0, b[16]; scanf("%d", &i); //对十进制数的读取 for (; i; i>>=1) b[n++] = i&1; for (; n; ) printf("%d", b[--n]); //二进制数一个个输出
  • 函数fun的功能是将一个由字符0和1组成的表示二进制数的字符串,转换成相应的十进制整数值返回。该串长度最大不超过15。 例如,若表示二进制数的字符串为:"10011",则运行结果应为:10011-->19 #include <...
  • C语言栈的方式实现十进制数转换为二进制数,完整代码,DEVC中直接使用
  • C语言程序实现十进制转二进制

    千次阅读 2020-03-22 16:28:41
    #include"stdio.h" main() { int a; long b=0,c=1; scanf("%d",&a); while(a) { b=a%2*c+b; a=a/2; c=c*10; } printf("b=%d",b); }
  • C语言十进制转换二进制

    千次阅读 2021-06-25 09:35:40
    本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include <stdio.h> ...
  • 十进制转二进制 三.二进制转十进制 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.十进制二进制区别 1、基数不同 十进制满10进1;二进制满2进1; 2、有效字符不同 ...
  • 利用数组和调用函数编写一个十进制转换成二进制的程序 #include "stdio.h" int main(){ int i = 0, n , a[32]; printf("请输入一个十进制正整数:\n"); scanf("%d",&n); for ( ; n>0 ; n /= 2) { a[i++] ...
  • #include "iostream" using namespace std; #define MAX 50 int _10to2()//十转二 ... cout 请输入一个整型十进制数:"; int number; cin >> number; int elem2[MAX]; int i = 0; int length=0;
  • 实现效果如图: 程序核心思想:将一位十进制整数进入...//声明转换为二进制的函数 int main(void) { int number; printf("请输入一位十进制数字:\n"); scanf("%d",&number); Change(number); printf("\n")
  • 以下代码可以实现十进制二进制、八进制、十六进制的任意转换。 #include&amp;amp;lt;stdio.h&amp;amp;gt; #include&amp;amp;lt;string.h&amp;amp;gt; void fun10_2_8_16(char *p,long number,...
  • C语言栈实现十进制转二进制

    千次阅读 2019-11-24 23:21:43
    C语言栈实现十进制转二进制 利用栈的先进后出的性质,与十进制转二进制时的2除法相似 (先算的余数放在后位) #include <stdio.h> #include <stdlib.h> #define MaxSize 100 typedef struct stack { ...
  • C语言十进制转换为二进制

    千次阅读 2020-02-05 12:08:22
    程序代码 1将十进制转换为二进制 #include<stdio.h> ...*csdn学院--2016级 ...*问题描述:用C语言十进制转换为二进制 *作者:小臣小仁 *完成日期:2017年11月19日 */ void binarySystem(int ); in...
  • c语言二进制转化为十进制Here you will get program to convert decimal to binary in C. 在这里,您将获得将C中的十进制转换为二进制的程序。 We can convert a decimal number into binary by repeatedly ...
  • 一个非常简单的ip地址十进制转换成二进制的实现,输入格式: 123.45.67.8[回车] 输出格式: 01111011:00101101:01000011:00001000 循环输入,循环输出,Ctrl+D结束。
  • C语言中实现十进制转二进制输出

    万次阅读 多人点赞 2017-10-01 23:33:07
    众所周知,C中以八进制,十进制和十六进制都可以通过%d,%o和%x轻松实现,然而唯独没有提供二进制输出的快速方式。博主整理出两种简单的实现方式,供参考。**方法一:itoa函数** itoa函数将数值转换为字符串,通过...
  • 观察以下代码:` ...#define MASK 01 //这个明示常量的二进制是00000001` char * itob(char * st, int n); int main(void) { int conut1, conut2; int num; char st[CHAR_BIT*sizeof
  • C语言——二进制转为十进制

    万次阅读 多人点赞 2019-05-27 15:25:55
    #include <...//二进制转换为十进制 int convertBinaryToDecimal(long long n); int main() { long long n; printf("请输入一个二进制数:"); scanf("%lld",&n); printf("二进制数%lld 转换为...
  • C语言算法之将十进制数转换成二进制

    万次阅读 多人点赞 2018-06-20 14:35:29
    导语:在C语言中没有将...下面给大家讲述一下如何编程实现将十进制数转换成二进制数。 先将源代码展示给大家: #include &lt;stdio.h&gt; void main() { //进制转换函数的声明 int transfer(int x)...
  • 主要思路: 1.核心思想依然是经典的除2取余法。但是由于C语言中整型数据中能够存放的最大的整数为unsigned long int...3.采用该方法理论上(不考虑计算机硬件存储空间)可实现任意大小的十进制转二进制数。 /*-----...
  • C++/C语言十进制转二进制的常见方法

    万次阅读 多人点赞 2018-04-17 10:34:40
    用一个算法实现十进制数向二进制数转换,我们考虑得到7的二进制表示,奇数的二进制形式最后一位肯定是1,而偶数的二进制最后一位肯定是0。可以通过7%2来计算二进制最后一位数是0或者1。即对于十进制整数n而言,...
  • c语言二进制转十进制c语言二进制转十进制完整源码 c语言二进制转十进制完整源码 #include <stdio.h> int main() { int remainder, number = 0, decimal_number = 0, temp = 1; printf("\n Enter any binary...
  • #include "iostream" using namespace std; #define MAX 50 int main()//二转十 ... cout 请输入二进制数,并以‘$’结束:"; char elem2[MAX]; int flag = 1; char ch; int i = 0; while (flag) {

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,973
精华内容 12,789
关键字:

十进制转二进制编程c语言

c语言 订阅