精华内容
下载资源
问答
  • 十进制整数转换二进制采用“除2倒取余”,十进制小数转换二进制小数采用“乘2取整”。 例题: 135D = __ B 解析:如下图所示,将135除以2,得余数,直到不能整除,然后再将余数从下至上倒取。得到结果:1000 ...

    1.十进制转R进制

    1.1 十进制转二进制

    十进制整数转二进制

    十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。

    例题: 135D = ______ B

    **解析:**如下图所示,将135除以2,得余数,直到不能整除,然后再将余数从下至上倒取。得到结果:1000 0111B.
    这里写图片描述

    图1.十进制整数转二进制

    十进制小数转二进制

    十进制小数转换成二进制小数采用 “乘2取整,顺序排列” 法。

    具体做法是:

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

    然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

    例题: 0.68D = ______ B(精确到小数点后5位)

    **解析:**如下图所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。得到结果:0.10101B.

    在这里插入图片描述

    图2.十进制小数转二进制

    1.2 十进制转八进制

    思路和十进制转二进制一样,参考如下例题:

    例题: 10.68D = ______ Q(精确到小数点后3位)

    **解析:**如下图所示,整数部分除以8取余数,直到无法整除。小数部分0.68乘以8,取整,然后再将小数乘以8,取整,直到达到题目要求精度。得到结果:12.534Q.

    这里写图片描述

    图3.十进制转八进制

    1.3 十进制转十六进制

    思路和十进制转二进制一样,参考如下例题:

    例题: 25.68D = ______ H(精确到小数点后3位)

    **解析:**如下图所示,整数部分除以16取余数,直到无法整除。小数部分0.68乘以16,取整,然后再将小数乘以16,取整,直到达到题目要求精度。得到结果:19.ae1H.

    这里写图片描述

    图4.十进制转十六进制
    # 2.R进制转十进制 ## 2.1 二进制转十进制 **方法为:**把二进制数按权展开、相加即得十进制数。(具体用法如下图)

    例题: 1001 0110B = ______ D

    **解析:**如下图所示。得到结果:150D.

    这里写图片描述

    图5.二进制转十进制

    2.2 八进制转十进制

    八进制转十进制的方法和二进制转十进制一样。

    例题: 26Q = ______ D

    **解析:**如下图所示。得到结果:22D.

    这里写图片描述

    图6.八进制转十进制

    2.3 十六进制转十进制

    例题: 23daH = ______ D

    **解析:**如下图所示。得到结果:9178D.

    这里写图片描述

    图7.十六进制转十进制

    3.二进制转八进制

    二进制转换成八进制的方法是,取三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取成一位。

    例题: 1010 0100B = ____Q

    **解析:**计算过程如下图所示。得到结果:244Q.

    这里写图片描述

    图8.二进制转八进制

    4.二进制转十六进制

    二进制转换成八进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。

    例题: 1010 0100B = ____H

    **解析:**计算过程如下图所示。得到结果:a4H.

    这里写图片描述

    图9.二进制转十六进制

    5.工欲善其事,必先利其器

    下面的表格是8位二进制所对应的十进制数值,对进制转换以及类似题目的理解非常有用:

    11111111B
    1286432168421D

    注:B:二进制
           D:十进制


    例题: 135D = ______ B

    **解析:**有了上面二进制对应十进制数值的表格,我们就可以将题目给的十进制135拆分为:128+7,再从表格中找到对应的数值,拼凑即可得到答案。
    135D = 128D + 7D = 1000 0111B

    展开全文
  • 一个java二进制转换计算器应用程序,将二进制数转换为十进制数,将十进制数转换二进制数。
  • C语言算法之将十进制转换二进制

    万次阅读 多人点赞 2018-06-20 14:35:29
    导语:在C语言中没有将其他进制的数直接输出为二进制数的工具或方法,输出八进制数可以用%o,输出十六进制可以用%x,输出为二进制就要我们自行解决了。下面给大家讲述一下如何编程实现将十进制转换二进制数...

    导语:在C语言中没有将其他进制的数直接输出为二进制数的工具或方法,输出为八进制数可以用%o,输出为十六进制可以用%x,输出为二进制就要我们自行解决了。下面给大家讲述一下如何编程实现将十进制数转换成二进制数。

    原文的实现方式太年轻了,是我大一的时候写的。由于太多小伙伴被『溢出』困扰(在溢出的情况下原文的实现就不灵了),补充下面这种最佳的实现方式。

    最佳的方式是利用栈先进后出的特性,计算每一位(0或1)压入栈中,再将所有元素出栈得到的01串就是目标二进制数。以下为C++实现代码,想用C语言实现的可以进行相应的改造,用数组实现一个栈,用字符数组实现字符串。

    #include <iostream>
    #include <stack>
    
    using namespace std;
    
    string transfer(int x) {
        if (x == 0) {
            return "0";
        }
        string ret;
        stack<char> st;
        while (x > 0) {
            if (x % 2 == 1) {
                st.push('1');
            } else {
                st.push('0');
            }
            x /= 2;
        }
        while (!st.empty()) {
            ret.push_back(st.top());
            st.pop();
        }
        return ret;
    }
    
    int main() {
        int x;
        cin >> x;
        cout << transfer(x) << endl;
        return 0;
    }

    下面是大一时候的实现,没有考虑溢出的问题,对于不懂栈的同学可以看一下。

    先将源代码展示给大家:

    #include <stdio.h>
    void main()
    {
        //进制转换函数的声明
        int transfer(int x);
        int x;
        printf("请输入一个十进制数:");
        scanf("%d",&x);
        printf("转换成二进制数是:%d\n",transfer(x));
    }
    int transfer(int x)
    {
        int p=1,y=0,yushu;
        while(1)
        {
            yushu=x%2;
            x/=2;
            y+=yushu*p;
            p*=10;
            if(x<2)
            {
                y+=x*p;
                break;
            }
        }
        return y;
    }

    具体算法体现在函数体内,使用了一个while(1)的死循环,当结果产生后跳出循环。变量yushu是每一次循环内产生的余数,变量x每次循环都会被赋予新的值,这个新的值就是每一次循环内产生的商。当产生的商小于2时即产生了最后的结果(二进制数),然后跳出循环。

    例如:函数自变量若为7,用自变量7除以2,得到第一次循环产生的余数为1,第一次循环产生的商为3;用第一次循环产生的商3除以2,得到第二次循环产生的余数为1,第二次循环产生的商为1。

    变量y的存放也是有一定技巧的,由于每次产生的余数都小于2并且都是最后二进制数中需要按位展现出来的,因此每一次循环产生的余数都要合理地进行存放。第一次产生的余数放在个位,第二次产生的余数放在十位,第三次产生的余数放在百位......依次类推,直至某一次循环产生的商小于2,最后再把小于2的那个商放在最高位。变量p的作用就是控制位数,变量y的初始值定为0,变量p的初始值定为1,每次循环内变量p都自乘10,每次循环内都让变量y加上yushu*p,这样就实现了余数的按位存放。最后将小于2的那个商乘以p加到变量y中,得到最后的二进制数。

    例如:还是以自变量7为例,第一次循环后y的值为1,第二次循环内if语句之前y的值为11,if语句内y的值变为111,111即为7的二进制数。

    注意:变量p的自乘要放在变量y加上yushu*p之后!顺序不能颠倒!

    欢迎大家关注/订阅我的微信公众号Code Art Online,我会在我的公众号分享个人见闻,发现生活趣味;这里不仅有0和1,还有是诗和远方↓↓↓

    展开全文
  • 它是一个转换计算器。它可以将十进制转换为二进制八进制和十六进制。 它可以将二进制转换为十进制和八进制十六进制。
  • 方便读者学习,本文小编给读者提供了用verilog将二进制转换为十进制BCD码的程序设计方法,供读者参考。
  • 二进制整数转换为十进制

    千次阅读 2020-03-28 19:19:07
    将输入的二进制整数转换为十进制数,如二进制数1101等价的十进制13。 #include<iostream> using namespace std; int main(){//二进制化为十进制 int binary;//二进制数 while(cin>>binary){ ...

    将输入的二进制整数转换为十进制数,如二进制数1101等价的十进制数为13。

     

    #include<iostream>
    using namespace std;
    int main(){//二进制化为十进制
        int binary;//二进制数 
    	while(cin>>binary){
    		int decimal=0;//十进制数 
    		int a;
    		int value=1;//权值 
    		while(binary!=0){
    			a=binary%10;
    			decimal+=a*value;
    			value*=2;
    			binary/=10;
    		}
    		cout<<"decimal="<<decimal<<endl;
    	} 
    	return 0;
    }

    测试程序:

     

    展开全文
  • //题目:八进制转换为十进制 #include<stdio.h> #include<math.h> int main() { int i=0,n,tmp,sum=0; scanf("%d",&n); while(n) { tmp=n%10; n=n/10; sum+=tmp*pow(8,i); i++;...

    基本思想: 八进制转十进制,二进制转十进制都一样的道理

    在这里插入图片描述

    八进制 --> 十进制

    //【程序48】
    //题目:八进制-->十进制
    #include<stdio.h>
    #include<math.h>
    int main()
    {
    	int i=0,n,tmp,sum=0;
    	scanf("%d",&n);
    	while(n)
    	{
    		tmp=n%10;
    		n=n/10;
    		sum+=tmp*pow(8,i);
    		i++;
    	}
    	printf("%d",sum);
    	return 0;
    }
    

    二进制 --> 十进制

    #include<stdio.h> //二进制-->十进制
    #include<math.h>
    int main()
    {
    	int i=0,n,tmp,sum=0;
    	scanf("%d",&n);
    	while(n)
    	{
    		tmp=n%10;
    		n=n/10;
    		sum+=tmp*pow(2,i);
    		i++;
    	}
    	printf("%d",sum);
    	return 0;
    }
    

    十进制 --> 二进制

    #include<stdio.h>  //十进制-->二进制 
    int main()
    {
    	int i=0,n,str[15];
    	scanf("%d",&n);
    	while(n)
    	{
    		str[i]=n%2;
    		n=n/2;
    		i++;
    	} 
    	for(int j=i-1;j>=0;j--)
    		printf("%d",str[j]);
    	return 0;
    }
    

    十进制 --> 八进制

    #include<stdio.h>  //十进制-->八进制 
    int main()
    {
    	int i=0,n,str[15];
    	scanf("%d",&n);
    	while(n)
    	{
    		str[i]=n%8;
    		n=n/8;
    		i++;
    	} 
    	for(int j=i-1;j>=0;j--)
    		printf("%d",str[j]);
    	return 0;
    }
    

    十六进制 --> 十进制

    #include<stdio.h> //十六进制-->十进制 eg. (十六进制)AB-->171(十进制) 
    #include<math.h>                                  //ABCD-->43981
    int main()
    {
    	int i,j,k=0;
    	long int sum=0,tmp;
    	char str[15],a[15]; 
    	gets(str);
    	for(i=0;str[i]!='\0';i++)
    	{
    		if(str[i]>='0'&&str[i]<='9')
    			a[i]=str[i]-'0';
    		if(str[i]>='a'&&str[i]<='z')
    			a[i]=str[i]-'a'+1+9;
    		if(str[i]>='A'&&str[i]<='Z')
    			a[i]=str[i]-'A'+1+9;
    	}
    	for(j=i-1;j>=0;j--)
    	{
    		tmp=a[j]*pow(16,k);
    		sum+=tmp;
    		k++;
    	}
    	printf("%ld",sum);
    	return 0;	
    }
    //#include<stdio.h>         //方法二:参看大佬的解法   
    //int main()                //16-->10进制 
    //{
    //	int num = 0;
    //    printf("输入一个十六进制数: ");
    //    scanf("%x", &num);
    //    printf("十六进制数 %x 转换为十进制为 %d\n", num, num);
    //	return 0;
    //}
    

    十进制 --> 十六进制

    #include<stdio.h>
    int main()
    {
    	int n,i=0,j;
    	char ten[16],str[17]="0123456789ABCDEF";  //10进制-->16进制 
    	scanf("%d",&n);                           //46-->2E; 59-->3B
    	while(n)                                  //46= 2*16^1 + 14*16^0
    	{
    		ten[i++]=str[n%16];
    		n=n/16;
    	}
    	for(j=i-1;j>=0;j--)
    		printf("%c",ten[j]); 
    	return 0;
    }
    

    在这里插入图片描述

    展开全文
  • 二进制转换十进制二进制转换十进制
  • 实例007——将十进制转换为二进制输出 实例007——将十进制转换为二进制输出 实例007——将十进制转换为二进制输出 实例007——将十进制转换为二进制输出
  • 二进制整数转换为十进制整数 【问题描述】 编写程序,输入字符串形式的二进制整数(长度16位,采用补码表示),把它转换为十进制整数,输出该十进制整数。补码首位表示符号,0代表正数,1代表负数。 需要注意的是...
  • 二进制 二进制就是计算机常用的进制,即逢二进一。例如:1010 八进制 ...上面就是对进制的简单介绍,下面就是对进制转换而进行介绍。 1.二进制转八进制 拿二进制数10010110举例 首先需要3个二进...
  • 十进制转换为十六进制,也就是 采用 除k取余法 ,直接让10处以16,再对 数据如果小于10和大于10进行处理,代码如下: #include<iostream> #include<string> using namespace std; int main() { ...
  • 适用于将二进制转换为十进制,A为十进制,B为二进制。{A,B}每次左移一位,判断A的每四位是否>4,若大于四则+3,否则保持不变;B多少位二进制数则左移多少次。最终A是B转换十进制的数。代码32位二进制转换...
  • 描述: 把二进制转换十进制数。 输入: 输入是一个8位的二进制数。 输出: 把输入的数转换为十进制数输出。 输入样例: 10000001 输出样例: 129
  • 二进制负数转换十进制

    千次阅读 2017-12-15 10:17:15
    例:(-10)11110110转化成十进制数(前提是二进制负数)1.(二进制)11110110逐位取反:00001001; 2.二进制数+1得:00001010,加上负号; 3.结果-10;例:(-5)11111011转化成二进制数1.(二进制)11111011...
  • 十进制数字转换为二进制、八进制、十六进制
  • 十六进制 简单的二进制十进制转换为十六进制,十进制二进制数。 下载并解压缩后,运行make命令。 $使 要仅清理.o文件,请输入make clean。 $使干净
  • 二进制、八进制、十六进制转换为十进制 二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。 假设当前数字是N进制,那么: 对于整数部分,从右往左看,第i位的位权...
  • 进制转换
  •  首先介绍 二进制转换十进制二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……所以,设有一个二进制数:101100100,转换为10进制:356用横式计算(从右往左算)0×20+0×21+1×22+0×23+0×24+1×25+1×26...
  • 易语言十进制浮点数转换到二进制源码,十进制浮点数转换到二进制,浮点数转二进制,进制转换
  • 十进制与二进制的转换2.1对应关系2.2举例一:二进制1011转换十进制2.3举例二:二进制10111转换十进制2.3举例三:十进制45转换成二进制2.4举例四:十进制小数0.25转换成二进制3.八进制与二进制3.1对应关系3.2举例一:...
  • 二进制小数转换为十进制数和

    千次阅读 2017-07-07 13:57:09
    1、二进制小数转换为十进制数 先举一个例子,例如:0.101,第一个1代表的是2的负一次方(0.5),即1*0.5,第二个1代表的是2的负三次方(0.125),即1*0.125,结果0.5+0.125=0.625,简而言之,每个1乘以其所在位...
  • 二进制数组转换十进制数组

    千次阅读 2020-01-09 18:11:20
    二进制数组转换十进制数组
  • 实现二进制转换为十进制

    千次阅读 2018-10-19 12:01:31
     System.out.println("转换后的十进制数字:");  int a = Integer.parseInt(number,2);  System.out.println(a);  }    public static void main(String[] args) {  FirstDemo fo = new FirstDemo();...
  • 1、二进制十进制转换 1、二进制十进制转换 1、二进制十进制转换
  • 进制间转换 进制转换 二进制十进制 八进制 十六进制转换
  • 从基本十进制转换为二进制基 转换步骤: 将数字除以2。 获取下一次迭代的整数商。 获取其余的二进制数字。 重复这些步骤,直到商等于0。 十进制二进制的转换示例。 (51)10 = (110011)2. (217)10 = ...
  • 超强进制转换工具 二进制 八进制 十进制 十六进制转换
  • 主要介绍了十进制负数转换为二进制、八进制、十六进制的知识分享,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 251,688
精华内容 100,675
关键字:

二进制10转换为十进制