A. 二进制转十进制算法
二进制转换为十进制方法:由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。
这种做法称为"按权相加"法。
例1105
把二进制数110.11转换成十进制数。
二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示
。
数字电子电路中,逻辑门的实现直接应用了二进制,因此现代的计算机和依赖计算机的设备里都用到二进制。每个数字称为一个比特(Bit,Binary
digit的缩写)。
(1)二进制数转换成十进制数简便方法扩展阅读
注意事项:
十进制基于位进制和十进位两条原则,即所有的数字都用10个基本的符号表示,满十进一,同时同一个符号在不同位置上所表示的数值不同,符号的位置非常重要。
基本符号是0到9十个数字。要表示这十个数的10倍,就将这些数字左移一位,用0补上空位,即10,20,30,...,90。
要表示这十个数的10倍,就继续左移数字的位置,即100,200,300,...。要表示一个数的1/10,就右移这个数的位置,需要时就0补上空位:1/10位0.1,1/100为0.01,1/1000为0.001。
参考资料来源:网络-二进制
B. 2进制转换10进制的方法是什么
二进制数转换成十进制数
二进制的1101转化成十进制 1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 转化成十进制要从右到左用二进制的每个数去乘以2的相应次方 不过次方要从0开始 相反 用十进制的13除以2 每除一下将余数就记在旁边 最后按余数从下向上排列就可得到1101 十进制转二进制: 用2辗转相除至结果为1 将余数和最后的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 余0 故二进制为100101110 二进制转十进制 从最后一位开始算,依次列为第0、1、2...位 第n位的数(0或1)乘以2的n次方 得到的结果相加就是答案 例如:01101011.转十进制: 第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方=0 1乘2的3次方=8 0乘2的4次方=0 1乘2的5次方=32 1乘2的6次方=64 0乘2的7次方=0 然后:1+2+0 +8+0+32+64+0=107. 二进制01101011=十进制107. 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。
二进制转十进制
本人有个更直接的方法,例如二进制数1000110转成十进制数可以看作这样: 数字中共有三个1 即第二位一个,第三位一个,第七位一个,然后十进制数即2的2-1次方+2的3-1次方+2的7-1次方即2+4+64=70 次方数即1的位数减一。如此计算只需要牢记2的前十次方即可在此本人为大家陈述一下:2的0次方是1 2的1次方是2 2的2次方是4 2的3次方是8 2的4次方是16 2的5次方是32 2的6次方是64 2的7次方是128 2的8次方是256 2的9次方是512 2的10次方是1024 2的11次方是2048 2的12次方是4096 2的13次方是8192 2的14次方是16384 2的15次方是32768 在这里仅为您提供前15次方,若需要更多请自己查询。
C. 二进制怎样转换成十进制的简便方法
把二进制数存放为字符串,用函数 strtol() 直接转整型,就得到 10进制数值了。
例如:
#include <stdio.h>
int main()
{
char s[]="01110100110"; //存放为字符串
int a;
a = strtol(s,NULL,2);
printf("%d\n",a);
return 0;
}
比较短小的2进制数,手算也可,例如:
110110 = 32*1+16*1+0+4*1+2*1+0 = 32+16+4+2=54。
D. 二进制转化为十进制的算法
从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。
比如第2位就是2的(2-1次)方,就是2;第8位就是2的(8-1)次方是128。把所有的值加起来。
2(1-1)代表2的0次方,就是1;其他类推
比如二进制1101,换算成十进制就是:1*2(1-1)+0*2(2-1)+1*2(3-1)+1*2(4-1)=1+0+4+8=13。
(4)二进制数转换成十进制数简便方法扩展阅读:
1、二进制转换为八进制:
把二进制的数从右往左,三位一组,不够补0
列:111=4+2+1=7
11001拆分为 001和011,001=1,011=2+1=3。
那么11001转换为八进制就是31。
2、二进制转换为十六进制:
参照二进制转八进制,但是它是从右往左,四位一组,不够补0
列子:1101101拆分为1101、0110
分别计算两个二进制的值,1101=8+4+0+1=13,十六进制中13为D
0110=4+2=6,那么二进制1101101转换为十六进制就是6D。
参考资料:网络-数制
E. 二进制转化为十进制的方法
方法一
小数点前或者整数要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右
例如:二进制数1101.01转化成十进制
1101.01(2)=1*20+0*21+1*22+1*23+0*2-1+1*2-2=1+0+4+8+0+0.25=13.25(10)
所以总结起来通用公式为:
abcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3(10)
方法二
或者用下面这种方法:
把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。
2的0次方是1(任何数的0次方都是1,0的0次方无意义)
2的1次方是2
2的2次方是4
2的3次方是8
2的4次方是16
2的5次方是32
2的6次方是64
2的7次方是128
2的8次方是256
2的9次方是512
2的10次方是1024
2的11次方是2048
2的12次方是4096
2的13次方是8192
2的14次方是16384
2的15次方是32768
2的16次方是65536
2的17次方是131072
2的18次方是262144
2的19次方是524288
2的20次方是1048576
即:
2的次方
此时,1101=8+4+0+1=13
再比如:二进制数100011转成十进制数可以看作这样:
数字中共有三个1即第六位一个,第二位一个,第一位一个(从右到左),然后对应十进制数即2的0次方+2的1次方+2的5次方,即
100011=32+0+0+0+2+1=35
F. 将二进制转换成十进制的方法是
将二进制转换成十进制的方法是“乘权求和”。
以小数点左一位的权值为1,每向左一位,权值乘以2;每向右一位,权值除以2。
G. 二进制转化成十进制有什么简便方法
进制转换:
根据二进制的原则“逢二进一”,我们把2的n次方列出分别是:
20=1 21=2 22=4 23=8 24=16 25=32 26=64……
“8421”法的原理说白了就是一种凑数法,按2的n次方的值列出,根据不同的情况进行“凑数”。
一、对于二进制转换成十进制数
例如:二进制数1010转换成十进制数
8 4 2 1
二进制数: 1 0 1 0 (结果为凡是1对应的数相加:8+2=10)
例1:110转换成十进制数
8 4 2 1
1 1 0 (结果为凡是1对应的数相加:4+2=6)
例2:11100转换成十进制数
16 8 4 2 1
1 1 1 0 0 (结果为凡是1对应的数相加:16+8+4=28)
二、对于十进制转换成二进制数
例如:十进制数不胜数10转换成二进制数
8 4 2 1 (因为10=8+2)
1 0 1 0 (故凡是凑到的8和2下面都是1,没有凑到的为0)
例3:十进制数6转换成二进制数
8 4 2 1 (因为6=4+2)
0 1 1 0 (故凡是凑到的4和2下面都是1,没有凑到的为0)
例4:十进制数28转换成二进制数
16 8 4 2 1 (因为16+4+8=28)
1 1 1 0 0 (凑到的为1,没有凑到的为0)