二进制转十进制 订阅
二进制转十进制:是指用一定的数学手段把二进制的数字转化为十进制的数字,广泛运用于编程等领域。 展开全文
二进制转十进制:是指用一定的数学手段把二进制的数字转化为十进制的数字,广泛运用于编程等领域。
信息
适用领域范围
电子、编程、编码、数学
应用学科
数学
中文名
二进制转十进制
二进制转十进制公式
先了解熟悉的十进制转二进制要用这种方法首先得会十进制转二级制的除以2取余的方法。  十进制转二进制  将余数和最后的1从下向上倒序写 就是结果  例如302  302 2 = 151 余0   151 2 = 75 余1   75 2 = 37 余1   37 2 = 18 余1   18 2 = 9 余0   9 2 = 4 余1   4 2 = 2 余0   2 2 = 1 余01 2=0 余1   故二进制为100101110
收起全文
精华内容
下载资源
问答
  • 进制转换进制转换十进制转二进制 及 二进制转十进制二进制转八进制 及 八进制转十进制二进制转十六进制 及 十六进制转十进制 进制转换 进制转换是人们利用符号来计数的方法。今天主要说一下十进制、二进制、八进制...

    进制转换

    进制转换是人们利用符号来计数的方法。进制也是我们在数数的时候的一种习惯,我们每个人都有十个手指,我们习惯上使用的数数是十进制。但对于计算机来说,我们必须使用二进制,那是因为组成计算机的元件,一般只有两种状态 0 1。
    二进制对于我们程序员来说阅读不是很方便,也不方便书写,所以有了八进制和十六进制。今天主要说一下十进制、二进制、八进制、十六进制之间的相互转换。

    十进制转二进制 及 二进制转十进制

    十进制转二进制采用“除二取余”法。除二取余,倒序排列。
    将一个十进制数除以2,得到的商再除以2,以此类推,直到商等于1或0时为止。
    

    52除以2,为26,无余数,记0。26除以2,为13,无余数,记0。13除以2,6余1,记1(有余数的均记1)。依次除以2,最终得到的0与1倒序排列记为110100。这就是十进制的52转化为二进制的结果。
    52除以2,为26,无余数,记0。26除以2,为13,无余数,记0。13除以2,6余1,记1.
    验证是否转换正确的方法(转化为10进制):
    110100 = 0乘以2的0次方 + 0乘以2的1次方 + 1乘以2的2次方 + 0乘以2的3次方 + 1乘以2的4次方 +1*乘以2的5次方 = 0 + 0 + 4 + 0 + 16 + 32 = 52

    二进制转八进制 及 八进制转十进制

    规律: 自右往左每三位一组,不足三位的用0补齐,将每一组数单独转成十进制,
    这个数就是八进制数。
    

    此处以52的二进制为例:110100

    110 100:
    0乘以2的0次方 + 1乘以2的1次方 + 1乘以2的2次方 = 6
    0乘以2的0次方 + 0乘以2的1次方 + 1乘以2的2次方 = 4
    最终结果为64

    验证是否转换正确的方法(转化为十进制):
    64 = 4乘以8的0次方 + 6乘以8的1次方 = 4 + 48 = 52

    二进制转十六进制 及 十六进制转十进制

    规律: 自右往左每四位一组,不足四位的用0补齐,将每一组数单独转成十进制。
    (0-9 a b c d e f)
    

    此处依旧以52的二进制为例:

    0011 0100:

    1乘以2的0次方 + 1乘以2的1次方 + 0乘以2的2次方 + 0乘以2的3次方 = 1 + 2 = 3
    0乘以2的0次方 + 0乘以2的1次方 + 1乘以2的2次方 + 0乘以2的3次方 = 4
    最后结果为34

    验证是否转换正确的方法(转化为十进制):
    34 = 4乘以16的0次方 + 3乘以16的1次方 = 4 + 48 = 52

    十进制转八进制 及 十进制转十六进制

    十进制转八进制,可以使用除八取余法。
    十进制转十六进制,可以使用除十六取余法。

    展开全文
  • 二进制转十进制

    千次阅读 2017-12-19 19:29:50
    //二进制转十进制 //#include //#include //char a[10000];//定义字符数组,用于储存二进制数 //int sum; //int tao(int x) //{ // int p=2,sum=1; // while(x>0) // { // if(x&1) // { // 
    //二进制转十进制
    //#include<stdio.h>
    //#include<string.h>
    //char a[10000];//定义字符数组,用于储存二进制数
    //int sum;
    //int tao(int x)
    //{
    //    int p=2,sum=1;
    //    while(x>0)
    //    {
    //        if(x&1)
    //        {
    //            sum=sum*p;
    //        }
    //        p=p*p;
    //        x=x/2;
    //    }
    //    return sum;
    //}
    //int main()
    //{
    //    scanf("%s",a);
    //    int len=strlen(a);
    //    int y=0;
    //    for(int i=0; i<len; i++)//遍历二进制字符数组
    //    {
    //        if(a[i]=='1')
    //        {
    //            y+=tao(len-i-1);//重点理解这里
    //
    //        }
    //
    //    }
    //    printf("%d\n",y);
    //  return 0;
    //}
    展开全文
  • 十进制整数转换成二进制采用“除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位二进制所对应的十进制数值,对进制转换以及类似题目的理解非常有用:

    1 1 1 1 1 1 1 1 B
    128 64 32 16 8 4 2 1 D

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


    例题: 135D = ______ B

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

    展开全文
  • <?php class Number{ public $number; public $result; public $limit = 0; /** * 二进制转十进制 * @param $number * @return mixed */ public function twoChangeTen($numbe...
    <?php
    class Number{
        public $number;
        public $result;
        public $limit = 0;
        /**
         * 二进制转十进制
         * @param $number
         * @return mixed
         */
        public function twoChangeTen($number){
            if (strpos($number , '.')){
                $arr_number = explode('.' , $number);
                $this->result = $this->twoChangeTenShang($arr_number[0]).'.'.$this->twoChangeTenShangYv($arr_number[1]);
            }else{
                $this->result = $this->twoChangeTenShang($number);
            }
            return $this->result;
        }
     
        /**
         * 计算商
         * @param $number
         * @return float|int|string
         */
        public function twoChangeTenShang($number){
            $result = '';
            $j = 0;
            for ($i = strlen($number); $i > 0; $i--){
                $result += substr($number , $i-1 , 1) * pow(2 , $j);
                $j++;
            }
            return $result;
        }
     
        /**
         * 计算余
         * @param $number
         * @return bool|string
         */
        public function twoChangeTenShangYv($number){
            $result = '';
            for ($i = 0; $i < strlen($number); $i++){
                $result += substr($number , $i , 1) * pow(2 , - ($i+1));
            }
            return substr($result , 2);
        }
     
        /**
         * 十进制转二进制
         * @param $number
         * @return mixed
         */
        public function tenChangeTwo($number){
            $this->number = $number;
            if (strpos($number , '.')){
                $exp = explode('.',$number);
                $this->tenChangeTwoYv('0.'.$exp[1]);
                $yv = substr($this->result , 1);
                $this->result = '';
                $this->tenChangeTwoJi($exp[0]);
                $data = $this->result.'.'.$yv;
            }else{
                $this->tenChangeTwoJi($this->number);
                $data = $this->result;
            }
            return $data;
        }
     
        /**
         * 计算积
         * @param $number
         * @return float
         */
        public function tenChangeTwoJi($number){
            if ($number == 0)return $this->result = 0;
            $this->number = floor($this->number / 2);
            $this->result = $number % 2 . $this->result;
            if ($this->number >= 1){
                $this->tenChangeTwoJi($this->number);
            }
        }
     
        /**
         * 计算余
         * @param $number
         * @return bool
         */
        public function tenChangeTwoYv($number){
            if (!strpos($number,'.') || $this->limit > 55){
                $this->result .= 1;
                return false;
            }
            $exp = explode('.',$number);
            $this->result .= $exp[0];
            $data = '0.'.$exp[1];
            $number = $data * 2;
            $this->limit++;
            $this->tenChangeTwoYv($number);
        }
    }
     
     
     
    $number_obj = new Number();
    echo $number_obj->tenChangeTwo(0.7);
    //echo $number_obj->twoChangeTen('10111000000010');

     

    展开全文
  •  首先介绍 二进制转换十进制二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……所以,设有一个二进制数:101100100,转换为10进制为:356用横式计算(从右往左算)0×20+0×21+1×22+0×23+0×24+1×25+1×26...
  • //十进制转二进制 func fuc(person:Int) { let a = String(person,radix:2) ...//二进制转十进制 func binary2dec(num:String) { var sum = 0 for c in num { sum = sum * 2 + Int(“©”)! } print(sum) }...
  • 十进制转二进制  假设我们要把十进制97转化成二进制!第一步把97除于2 ...二进制转十进制 从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。比如第2
  • 进制的转换 十进制转换为二进制 例如,5·····101,10·····1010 int s[10000]={0}; while(n>0) { s[i]=n%2; n=n/2; //把每一位存在数组当中 i++; } int sum=0; ...
  • using System; using System.IO; namespace TwoReturnTen { class Program { static void Main(string[] args) { object o1 = 11;... //二进制转十进制的算法 string str = "0110001"; int tmp = 0; int ...
  • 利用 toString() 方法 十进制转二进制 示例: var num = 10; console.log( num.toString(“2”) ) 转2进制输出: “1010” console.log( num.toString(“8”) ) 转8进制输出: “12” console.log( num.toString...
  • 二进制转十进制,十进制转二进制的算法

    万次阅读 多人点赞 2009-07-15 13:20:00
    二进制转十进制,十进制转二进制的算法 十进制转二进制: 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写 就是结果 例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0...
  • ----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ 【进制转换】 23十进制  0-9逢10进1  023 八进制 ...二进制 逢2进1 10101010 二进制基本单位是位【字节是由8
  • 二进制主要有以下几种:正整数转二进制,负整数转二进制,小数转二进制; 1、 正整数二进制。要点一定一定要记住哈:除二取余,然后倒序排列,高位补零。  也就是说,将正的十进制数除以二,得到的商再...
  • 对于如何进行二进制转十进制,我们可以先看一下十进制是啥:就比如数字111,它 其实等于1*102
  • //10进制转16进制 Integer.toHexString(20); //10进制转2进制 Integer.toBinaryString(10); //16进制转10进制 Integer.parseInt("10", 16);  //10进制转16进制 Integer.toHexString(20); //10进制转2进制 ...
  • bcd码二进制转十进制Prerequisite: Number systems 先决条件: 数字系统 BCD Code (8421 Code): In BCD 8421 code, each decimal digit is represented using a 4-bit binary number. The 4-bit binary numbers ...
  • 栈满则后进先出原则,我们可以利用此特性实现二进制转十进制、二进制转八进制、二进制转十六进制等相关操作,废话不多说,直接上代码。 二进制转十进制: // // Created by Administrator on 2018/5/28. // //...
  • vb 二进制转十进制代码 不懂如何转换,求详细的过程。大神求带,大神求带,大神求带,大神求带,大神求带,
  • 摘自https://baike.baidu.com/item/%E5%8D%81%E8%BF%9B%E5%88%B6%E8%BD%AC%E4%BA%8C%E8%BF%9B%E5%88%B6 python实现进制转换:... 十进制转二进制 编辑 1. 十进制整数转换为二进制整数 十进制整数...
  • Matlab中有二进制转十进制的函数,“bin2dec”,示例如下: 但是这个函数只能进行整数转换,如果有小数的话: 由于需要,最近写了一个小程序,实现带小数的二进制转十进制,先看代码: clc clear all % 整数...
  • C语言实现二进制转换十进制

    热门讨论 2010-10-26 17:15:43
    一个用C语言实现二进制转十进制的方法,有详细代码说明与源代码,可以直接COPY运行。
  • 用栈实现二进制转十进制

    千次阅读 2015-05-08 17:48:57
    用栈实现二进制转十进制
  • 十六进制格式的带符号二进制转十进制计算方法`~` 操作符转换演示正确转换方式 这个问题必须记录一下,我以为转换就是直接按位取反,但是结果总是不对,经过分析后才发现数据分析就有问题,那当然接下来怎么做都不会...
  • 进制转换里面最简单的就是十进制
  • 二进制转十进制 转化详解

    千次阅读 2019-07-23 10:29:33
    二进制如何转十进制,十进制如何转二进制 十进制转二进制 转成二进制主要有以下几种:正整数转二进制,负整数转二进制,小数转二进制; 1、 正整数转成二进制。要点一定一定要记住哈:除二取余,然后倒序排列,高位...
  • Java用递归实现二进制转十进制怎么写?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,346
精华内容 7,338
关键字:

二进制转十进制