- 适用领域范围
- 电子、编程、编码、数学
- 应用学科
- 数学
- 中文名
- 二进制转十进制
-
进制转换(十进制转二进制 二进制转十进制)
2019-02-12 12:02:59进制转换进制转换十进制转二进制 及 二进制转十进制二进制转八进制 及 八进制转十进制二进制转十六进制 及 十六进制转十进制 进制转换 进制转换是人们利用符号来计数的方法。今天主要说一下十进制、二进制、八进制...进制转换
进制转换是人们利用符号来计数的方法。进制也是我们在数数的时候的一种习惯,我们每个人都有十个手指,我们习惯上使用的数数是十进制。但对于计算机来说,我们必须使用二进制,那是因为组成计算机的元件,一般只有两种状态 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转化为二进制的结果。
验证是否转换正确的方法(转化为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;
//} -
计算机基础进制转换(二进制、八进制、十进制、十六进制)
2018-09-07 22:27:17十进制整数转换成二进制采用“除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 二进制 转 十进制 ,十进制转二进制!!!
2019-03-27 16:30:12<?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');
-
关于计算机的进制之间的转换 二进制转换十进制 十进制转换二进制
2018-05-09 16:41:57首先介绍 二进制转换十进制二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……所以,设有一个二进制数:101100100,转换为10进制为:356用横式计算(从右往左算)0×20+0×21+1×22+0×23+0×24+1×25+1×26... -
十进制转二进制,二进制转十进制的函数代码
2018-11-02 19:49:15//十进制转二进制 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) }... -
十进制转二进制 二进制转十进制算法
2015-01-18 00:55:00十进制转二进制 假设我们要把十进制97转化成二进制!第一步把97除于2 ...二进制转十进制 从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。比如第2 -
进制的转换,二进制转十进制,十进制转二进制
2019-11-10 13:43:52进制的转换 十进制转换为二进制 例如,5·····101,10·····1010 int s[10000]={0}; while(n>0) { s[i]=n%2; n=n/2; //把每一位存在数组当中 i++; } int sum=0; ... -
C# 二进制转十进制的算法 十进制转二进制的类库
2019-04-24 20:59:59using System; using System.IO; namespace TwoReturnTen { class Program { static void Main(string[] args) { object o1 = 11;... //二进制转十进制的算法 string str = "0110001"; int tmp = 0; int ... -
javascript 二进制转十进制 十进制转二进制
2018-11-25 00:48:29利用 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... -
进制转换_十进制转二进制_二进制转十进制_十进制转十六进制_十进制转八进制
2013-03-08 01:04:53----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ 【进制转换】 23十进制 0-9逢10进1 023 八进制 ...二进制 逢2进1 10101010 二进制基本单位是位【字节是由8 -
二进制转十进制,十进制转二进制(百度经验)
2018-08-20 14:35:35转成二进制主要有以下几种:正整数转二进制,负整数转二进制,小数转二进制; 1、 正整数转成二进制。要点一定一定要记住哈:除二取余,然后倒序排列,高位补零。 也就是说,将正的十进制数除以二,得到的商再... -
二进制转十进制和八进制
2019-11-26 20:26:51对于如何进行二进制转十进制,我们可以先看一下十进制是啥:就比如数字111,它 其实等于1*102 -
java中各进制之间的转换(十进制转十六进制、十进制转二进制、二进制转十进制、二进制转十六进制)
2013-05-05 01:04:41//10进制转16进制 Integer.toHexString(20); //10进制转2进制 Integer.toBinaryString(10); //16进制转10进制 Integer.parseInt("10", 16); //10进制转16进制 Integer.toHexString(20); //10进制转2进制 ... -
bcd码二进制转十进制_二进制编码的十进制(BCD码)及其加法
2020-07-28 19:34:10bcd码二进制转十进制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 ... -
数据结构-栈之二进制转十进制和八进制
2018-10-22 11:06:58栈满则后进先出原则,我们可以利用此特性实现二进制转十进制、二进制转八进制、二进制转十六进制等相关操作,废话不多说,直接上代码。 二进制转十进制: // // Created by Administrator on 2018/5/28. // //... -
vb 二进制转十进制代码
2016-11-10 04:40:16vb 二进制转十进制代码 不懂如何转换,求详细的过程。大神求带,大神求带,大神求带,大神求带,大神求带, -
python 实现进制转换(二进制转十进制)
2019-02-21 11:38:00摘自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——二进制转十进制(包含小数转换)
2019-04-03 10:10:13Matlab中有二进制转十进制的函数,“bin2dec”,示例如下: 但是这个函数只能进行整数转换,如果有小数的话: 由于需要,最近写了一个小程序,实现带小数的二进制转十进制,先看代码: clc clear all % 整数... -
C语言实现二进制转换十进制
2010-10-26 17:15:43一个用C语言实现二进制转十进制的方法,有详细代码说明与源代码,可以直接COPY运行。 -
用栈实现二进制转十进制
2015-05-08 17:48:57用栈实现二进制转十进制 -
十六进制格式的带符号二进制转十进制
2019-09-28 14:23:50十六进制格式的带符号二进制转十进制计算方法`~` 操作符转换演示正确转换方式 这个问题必须记录一下,我以为转换就是直接按位取反,但是结果总是不对,经过分析后才发现数据分析就有问题,那当然接下来怎么做都不会... -
黑马程序员--java入门之二进制转十进制和十进制转二进制
2014-10-28 10:03:50进制转换里面最简单的就是十进制 -
二进制转十进制 转化详解
2019-07-23 10:29:33二进制如何转十进制,十进制如何转二进制 十进制转二进制 转成二进制主要有以下几种:正整数转二进制,负整数转二进制,小数转二进制; 1、 正整数转成二进制。要点一定一定要记住哈:除二取余,然后倒序排列,高位... -
Java用递归实现二进制转十进制怎么写?
2020-03-21 00:02:00Java用递归实现二进制转十进制怎么写?
-
DOS94-01.EXE
-
简单的学生在线练习系统(PHP版)
-
8、信息学奥赛系列课程之NOI LINUX课程表01.pdf
-
OpenCasCade开发环境搭建.zip
-
最大限度地减少块输出中间结果的计算和存储
-
nginx上传文件失败,提示上传文件过大,怎么解决
-
第1章 Java入门基础及环境搭建【java编程进阶】
-
抢购京东平台的茅台1499
-
21年新接口自动化测试视频postman教程 零基础接口测试
-
设计模式之工厂模式
-
JavaWeb知识系统结构总结.xmind
-
能计算3000多位十进制数乘法的C++小程序
-
【2021】UI自动化测试Selenium3
-
gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
-
华为Mate10Pro维修图PCB位置图(PDF格式)
-
MySql的初学习 -- 第五章 -- 了解约束
-
CPP-Summit 2019 - 李永顺 - 嵌入式系统C++性能优化.pdf
-
5、断路器 Netflix Hystrix 运维操作
-
2021年408考试真题 下载 PDF打印
-
API代理版自动发卡平台源码V4.5.6.zip