精华内容
下载资源
问答
  • 我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示...因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做十进制(Decimalism)。十进制是在...

    我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。

    例如表示 5+8 的结果,一个数字不够,只能”进位“,用 13 来表示;这时”进一位“相当于十,”进两位“相当于二十。

    因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做十进制(Decimalism)。十进制是在人类社会发展过程中自然形成的,它符合人们的思维习惯,例如人类有十根手指,也有十根脚趾。

    2bd413efc52abc9eeb39582628476d27.png

    进制也就是进位制。进行加法运算时逢X进一(满X进一),进行减法运算时借一当X,这就是X进制,这种进制也就包含X个数字,基数为X。十进制有 0~9 共10个数字,基数为10,在加减法运算中,逢十进一,借一当十。

    二进制

    我们不妨将思维拓展一下,既然可以用 0~9 共十个数字来表示数值,那么也可以用0、1两个数字来表示数值,这就是二进制(Binary)。例如,数字 0、1、10、111、100、1000001 都是有效的二进制。

    在计算机内部,数据都是以二进制的形式存储的,二进制是学习编程必须掌握的基础。本节我们先讲解二进制的概念,下节讲解数据在内存中的存储,让大家学以致用。

    二进制加减法和十进制加减法的思想是类似的:

    对于十进制,进行加法运算时逢十进一,进行减法运算时借一当十;

    对于二进制,进行加法运算时逢二进一,进行减法运算时借一当二。

    下面两张示意图详细演示了二进制加减法的运算过程。

    1) 二进制加法:1+0=1、1+1=10、11+10=101、111+111=1110

    551b43cc61850a121f0ba652f9822c41.png

    图1:二进制加法示意图


    2) 二进制减法:1-0=1、10-1=1、101-11=10、1100-111=101

    bf01b85a9059d73f43c6e2b4896665f2.png

    图2:二进制减法示意图

    八进制

    除了二进制,C语言还会使用到八进制。

    八进制有 0~7 共8个数字,基数为8,加法运算时逢八进一,减法运算时借一当八。例如,数字 0、1、5、7、14、733、67001、25430 都是有效的八进制。

    下面两张图详细演示了八进制加减法的运算过程。

    1) 八进制加法:3+4=7、5+6=13、75+42=137、2427+567=3216

    f50275f09c9d5452b0036192fa79e31f.png

    图3:八进制加法示意图

    2) 八进制减法:6-4=2、52-27=23、307-141=146、7430-1451=5757

    a4dde56a2f16a4a78e623f4f2823eac2.png

    图4:八进制减法示意图

    十六进制

    除了二进制和八进制,十六进制也经常使用,甚至比八进制还要频繁。

    十六进制中,用A来表示10,B表示11,C表示12,D表示13,E表示14,F表示15,因此有 0~F 共16个数字,基数为16,加法运算时逢16进1,减法运算时借1当16。例如,数字 0、1、6、9、A、D、F、419、EA32、80A3、BC00 都是有效的十六进制。

    注意,十六进制中的字母不区分大小写,ABCDEF 也可以写作 abcdef。

    下面两张图详细演示了十六进制加减法的运算过程。

    1) 十六进制加法:6+7=D、18+BA=D2、595+792=D27、2F87+F8A=3F11

    e3f660b3012340895df91e21659f8611.png

    图5:十六进制加法示意图


    2) 十六进制减法:D-3=A、52-2F=23、E07-141=CC6、7CA0-1CB1=5FEF

    7e33242508af110b96ed21abeb673e63.png

    图5:十六进制减法示意图


    自学C/C++编程难度很大,不妨和一些志同道合的小伙伴一起学习成长!

    C语言C++编程学习交流圈子,关注+私信【C/C++编程】微信公众号:C语言编程学习基地

    有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!希望对你有帮助!

    423dd0ce92073bb770c76885c11ebdc6.png
    展开全文
  • 我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示十、十一、...因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做十进制(Decimalism)。...

    efa87023a1f731a4fe5df644098b13c7.gif

    我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。

    例如表示 5+8 的结果,一个数字不够,只能”进位“,用 13 来表示;这时”进一位“相当于十,”进两位“相当于二十。

    因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做十进制(Decimalism)。十进制是在人类社会发展过程中自然形成的,它符合人们的思维习惯,例如人类有十根手指,也有十根脚趾。

    b09731617d874338c9a30ebbf1435f58.png

    进制也就是进位制。进行加法运算时逢X进一(满X进一),进行减法运算时借一当X,这就是X进制,这种进制也就包含X个数字,基数为X。十进制有 0~9 共10个数字,基数为10,在加减法运算中,逢十进一,借一当十。

    二进制

    我们不妨将思维拓展一下,既然可以用 0~9 共十个数字来表示数值,那么也可以用0、1两个数字来表示数值,这就是二进制(Binary)。例如,数字 0、1、10、111、100、1000001 都是有效的二进制。

    在计算机内部,数据都是以二进制的形式存储的,二进制是学习编程必须掌握的基础。本节我们先讲解二进制的概念,下节讲解数据在内存中的存储,让大家学以致用。

    二进制加减法和十进制加减法的思想是类似的:

    对于十进制,进行加法运算时逢十进一,进行减法运算时借一当十;

    对于二进制,进行加法运算时逢二进一,进行减法运算时借一当二。

    下面两张示意图详细演示了二进制加减法的运算过程。

    1) 二进制加法:1+0=1、1+1=10、11+10=101、111+111=1110

    eb79df0165c0e753cccabefec3b27594.png

    图1:二进制加法示意图

    2) 二进制减法:1-0=1、10-1=1、101-11=10、1100-111=101

    224c13abb8bca464abd8f38fc07f1fb4.png

    图2:二进制减法示意图

    八进制

    除了二进制,C语言还会使用到八进制。

    八进制有 0~7 共8个数字,基数为8,加法运算时逢八进一,减法运算时借一当八。例如,数字 0、1、5、7、14、733、67001、25430 都是有效的八进制。

    下面两张图详细演示了八进制加减法的运算过程。

    1) 八进制加法:3+4=7、5+6=13、75+42=137、2427+567=3216

    19ffc826ead3e92ea79ca93de1ab7631.png

    图3:八进制加法示意图

    2) 八进制减法:6-4=2、52-27=23、307-141=146、7430-1451=5757

    25a10b9d9067372437a2d7b480cdb3e7.png

    图4:八进制减法示意图

    十六进制

    除了二进制和八进制,十六进制也经常使用,甚至比八进制还要频繁。

    十六进制中,用A来表示10,B表示11,C表示12,D表示13,E表示14,F表示15,因此有 0~F 共16个数字,基数为16,加法运算时逢16进1,减法运算时借1当16。例如,数字 0、1、6、9、A、D、F、419、EA32、80A3、BC00 都是有效的十六进制。

    注意,十六进制中的字母不区分大小写,ABCDEF 也可以写作 abcdef。

    下面两张图详细演示了十六进制加减法的运算过程。

    1) 十六进制加法:6+7=D、18+BA=D2、595+792=D27、2F87+F8A=3F11

    885280f2c1e898048f20e170e004518f.png

    图5:十六进制加法示意图

    2) 十六进制减法:D-3=A、52-2F=23、E07-141=CC6、7CA0-1CB1=5FEF

    8aa812652c34b6afd2cc8625460fd63f.png

    图5:十六进制减法示意图

    希望对你有帮助!

    C/C++编程学习QQ群:1108152000,视频资料,问题解答,源码分享!

    展开全文
  • C语言实现十进制转二进制 数学原理 用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为...

    C语言实现十进制转二进制

    数学原理

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

    编程实现

    # include<stdio.h>
    
    void g(int);
    void h(int);
    
    int main(void)
    {
    	int num;
    
    	printf("please enter a value(Enter q to quit):\n");
    	while(scanf("%d", &num) == 1)
    	{
    		g(num);//递归实现
    		putchar('\n');
    		h(num);//循环实现
    		putchar('\n');
    		printf("please enter a value(Enter q to quit):\n");
    	}
    	return 0;
    }
    
    void g(int a)
    {
    	int b;
    	b = a % 2;
    	if(a >= 2)
    		g(a/2);
    	putchar(b == 0 ? '0' : '1');
    
    	return;
    }
    void h(int n)
    {
    	int result = 0,k = 1,i,temp;
    	temp = n;
    	while(temp)
    	{
    		i = temp % 2;
    		result = k * i + result;//高位依次乘以10、100···再相加
    		k = k * 10;
    		temp = temp / 2;
    	}
    	printf("%d\n", result);
    }
    
    
    展开全文
  • C语言编程:打印一个圆形★C语言编程:输入一个字符串,然后逆序输出★求1000以内的水仙花数★C语言编程判断回文数★随机产生 100 之内的整数并赋值给维数组 a[3][4],并求所有元素和★C语言编程求阶乘和:1!...

    dce3c61849fe35b7b3c093a2557ebadc.png

    往期C语言实战练习★ C语言编程:验证哥德巴赫猜想★ C语言能打印任意大小的菱形?当然!★ C语言编程:打印一个圆形★ C语言编程:输入一个字符串,然后逆序输出★ 求1000以内的水仙花数★ C语言编程判断回文数★ 随机产生 100 之内的整数并赋值给二维数组 a[3][4],并求所有元素和★ C语言编程求阶乘和:1!+2!+3!+ ... + n!

    正文开始

    +

    大家好,我是阿汤哥,今天在后台看到有朋友问十进制转换成二进制,今天我们就来看看这个问题。你知道,C语言中printf打印数的格式化表示方法有十进制、八进制、十六进制,但没有二进制。我们需要自己编程实现。十进制怎么转换成二进制?用“除2取余数,余数再逆向排序法”。举个例子:【例】把十进制数13转换成二进制【步骤】
    1. 13除以2,商为6,余数1
    2. 6除以2,商为3,余数0
    3. 3除以2,商为1,余数1
    4. 1除以2,商为0,余数1
    把余数逆序排列,得到:1101上面是我们笔算手算,那怎么用C语言编程实现?我们用三个变量a,b,c分别记录每一步的被除数、商、余数。用for循环,循环结束的判断条件是商为0。初始状态,a=13。每一部结束后,商保存到b,余数保存到c,并把商b值赋值给a得到新的被除数,来给下一步用。如此循环往复。求商和求余数好办,分别用用运算符/和%。那得到的余数怎么逆序排列?用另外一个变量,设逆序排列后的数为n,这样来做求n:设n初始为0。第一步得到的余数1乘以1,再加上n初始值得到新的n=1×1 + 0= 1第二步得到的余数0乘以10,再加上上一步的n得到新的n=0×10 + 1 = 1第三步得到的余数1乘以100,再加上上一步的n得到新的n=1× 100 + 1 = 101第四步得到的余数1乘以1000,再加上上一步的n得到新的n=1×1000 + 101=1101。流程结束。可以得到,一般的规律是:第i步的n等于第i步余数乘以10的i-1次方,再加上上一步的n。循环结束时,得到的n即为所求。我们来写代码。C语言代码
    /**
     * Author: 阿汤哥
     * 微信公众号:C语言修仙
     * 功能: 十进制转二进制
     */


    include 
    include 

    /*
    * 函数功能:十进制转二进制
    * @ num:要被还换成二进制的十进制数
    * 返回值:二进制数
    *
    */

    int transfer_10_to_2(int num){
        int a=num, b, c, n=0;
        for (int i = 1; a !=0; i++)
        {
            b = a / 2;    //被除数
            c = a % 2;    //商
            n = c * (int)pow(10,  i-1) + n;  //余数
            a = b;  //新的被除数,供下一步使用
        }

        return n;
    }

    int main(){
        int number;
        while (1)
        {
            printf("请输入一个十进制数:\n");

            scanf("%d", &number);
            int num = transfer_10_to_2(number);
            printf("%d的二进制输出为:%d\n\n", number, num);
        }

        return 0;
    }
    运行结果

    1437e1631f0546ed5098328c6cfc7dd9.png

    往期推荐好文编程软件下载与安装:C语言编程工具的选择 ★一步步教你下载安装编程工具CodeBlocks和编写第一个程序一步步教你下载安装编程工具VS2019和编写第一个程序一步步教你下载安装编程工具VC++6.0和编写第一个程序其他好文★i++和++i有什么区别?★看完你就明白:什么情况下该用int main(int argc, char *argv[])而不是int     main(void)★C语言编程:打印一个圆形★福利:50本C语言电子书免费送了![必读]C语言学习者常见问题及回答硬核!用这个工具看了i++和++i的汇编代码,小白也能明白它们的区别

    46decab50273f0e9799f529ddb62f680.png

    点个在看

    你最好看

    6e7111457b444e7646e4223edf83d560.png
    展开全文
  • 上节我们对二进制、八进制和十六进制进行了说明,本节重点讲解不同进制之间的转换,这在编程中经常会用到,尤其是C语言。将二进制、八进制、十六进制转换为十进制二进制、八进制和十六进制向十进制转换都非常容易,...
  • (注意:c语言中没有直接表示二进制的整型常量,在c语言源程序中不会出现二进制。)书写方式如下:十进制整型常量:123 , 0 ,-24 , 85L(长整型常量) 等八进制整型常量:051 ,-026 ,0773 等十六进制整型常量:0x55 ...
  • 编程,输入一个10进制正整数,然后输出它所对应的八进制数。 输入 无 输出 无 样例输入 10 样例输出 12 #include <stdio.h> int main( ) { int num,m=0,a[100],i=0,k=0; //num由键盘...
  • C语言算法之将十进制数转换成二进制

    万次阅读 多人点赞 2018-06-20 14:35:29
    导语:在C语言中没有将...下面给大家讲述一下如何编程实现将十进制数转换成二进制数。 先将源代码展示给大家: #include &lt;stdio.h&gt; void main() { //进制转换函数的声明 int transfer(int x)...
  • } void Conversion(int N) //十进制转换成二进制 { int x; LinkStackNode S; LinkStack top; top=&S; top->next=NULL; while(N) { x=N%2; Push(&S,x); N=N/2; } while(!IsEmpty(&S)) { Pop(&S,&x); printf("%d",x);...
  • 进制转换:二进制、八进制、十六进制、十进制之间的转换 不同进制之间的转换在编程中经常会用到,尤其是C语言。 将二进制、八进制、十六进制转换为十进制 二进制、八进制和十六进制向十进制转换都非常容易,就是...
  • 对于十进制的数字“12345”来说,其真实大小就是: 即每一个...所以,对于二进制数字“10101”来说,其真实大小就是: 如果用十进制来表示“10101”这个二进制数字的话,就是“21”。通过这个 思想,可以将任意进...
  • 编写函数,将一个二进制数(以字符串形式表示)转换为十进制数。函数原型如下: double binTodec(char *str); 其中str为接收的二进制数,函数的返回值为对应的十进制数。 如输入: 1010 则输出为: 10 又如...
  • 十进制相互转换完整代码
  • 如题,今天我们来写十进制转16进制和 2进制。二进制前面我们写过。16进制的算法和二进制差不多。都是先对进制本身进行取余作为第一位,然后对进制做除法得到的商再对进制取余作为第二位。。循环往复 下面我附上我的...
  • #include<stdio.h> #define Elemtype int #define Stack_size 100 #define FALSE 0 #define TRUE 1 typedef struct{ //顺序栈 Elemtype elem[Stack_size]; ...int InitStack(SeqStack *S) //栈初始化 ...
  • 将一个任意十进制整数转换为二进制数并打印出来 实现方法:除二取余法 实现思路: 1,将得到十进制数n反复除以2取余数,存入数组中。 2,用赋值运算n=n/2,来不断更新n的值 3,遍历数组将其倒序打印。 #include...
  • 主要是要掌握高中数学内容——二进制转换,然后用编程语言实现 话不多说,上代码! #include<stdio.h> #include<math.h> int main() { int n,i,m,y=0; scanf("%d",&n);//输入一个数 for(i=0;n!...
  • 大家学习计算机或者编程,都会知道计算机处理数据都是基于二进制的,而我们在日常生活中都是使用十进制。如果要用计算机存储数据,肯定要将十进制转化为二进制,或者我们要查数据,要将二进制转换为十进制,那么问题...
  • 上节我们对二进制、八进制和十六进制进行了说明,本节重点讲解不同进制之间的转换,这在编程中经常会用到,尤其是C语言。将二进制、八进制、十六进制转换为十进制二进制、八进制和十六进制向十进制转换都非常容易,...
  • 对于十进制的数字“12345”来说,其真实大小就是: 即每一个...所以,对于二进制数字“10101”来说,其真实大小就是: 如果用十进制来表示“10101”这个二进制数字的话,就是“21”。通过这个 思想,可以将任意进...
  • ☆ C/C++ 十进制转二进制

    千次阅读 2018-11-06 22:11:23
    但是却没有直接的方法直接将十进制转换为二进制,这就需要我们自己编写相应的功能函数去实现转化; 本篇文章将介绍两种转化方法: 1&gt; 短除法(正存逆读) 2&gt; 转换为八进制,然后使用二进制数据对点.....
  • 十进制转二进制

    2012-03-31 20:00:01
    估计是自己太菜了,今天才发现,原来c语言能够这样将十进制转化为二进制 int ten; TCHAR T[256];//TCHAR=char TCHAR S[256]; GetDlgItemText(hwnd,IDC_EDIT3,T,sizeof(T));//windows编程语句 ten=atoi(T)...
  • 上节我们对二进制、八进制和十六进制进行了说明,本节重点讲解不同进制之间的转换,这在编程中经常会用到,尤其是C语言。SANFUC:进制学习(1):二进制、八进制和十六进制​zhuanlan.zhihu.com将二进制、八进制、...
  • 思路:先将二进制转换为十进制(详细参考我的这篇博客 二、十进制相互转换),然后将十进制转换为八进制(这个我们很熟悉)。 具体代码如下: #include <stdio.h> #include <math.h> int main() { long...
  • 1、连接两个字符串将两个字符串连接,不要用stract函数2、求矩阵外围元素之和求3行3列...5、字符串a下标值为偶数的元素由小到大排序,其他元素不变 6、十进制正整数转换为二进制编写函数,将任意十进制正整数转换...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 123
精华内容 49
关键字:

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

c语言 订阅