二进制转换十进制的简单方法?

发布网友 发布时间:2022-04-24 12:11

我来回答

5个回答

热心网友 时间:2023-10-12 09:55

方法一:从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右

例:二进制数1101.01转化成十进制

1101.01(2)

=1*2【0】+0*2【1】+1*2【2】+1*2【3】 +0*2【-1】+1*2【-2】

=1+0+4+8+0+0.25=13.25(10)

方法二:把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。

对于有n位整数,m位小数的二进制数用加权系数展开式表示,可写为:N(2)=an-1×2n-1+an-2×2n-2+……+a1×21+a0×20+a-1×2-1+a-2×2-2+……+a-m×2-m(10)式中aj表示第j位的系数,它为0和1中的某一个数。

例:二进制数1101转化成十进制

1101(2)

=1*2【3】+1*2【2】+0*2【1】+1*2【0】

=13(10)

注意:

1、【】括号内数字代表次方,如【2】为二次方,【-1】为负一次方。

2、()括号内代表进制数,(2)为二进制,(10)为十进制。

扩展资料:

以下为二进制转是进制代码:

int readint(int a)  //a 是传入二进制位数

{  

int sum = 0;   

while (a--) {

sum *=2;

sum += getchar() - '0';  // getchar 读入相应十进制的每一位 

}

return sum;  // sum 是相应的十进制

}

参考资料来源:百度百科-十进制转二进制

热心网友 时间:2023-10-12 09:55

有啊 但不可能一眼看出
10010110101可以看成是(从后往前读)
1*2^0+0*2^1+1*2^2+0*2^3+1*2^4……+1*2^10
算起来还是比较烦的。
十进制数——二进制数
例:.125(10)= ? (2)
先看整数位
/2=32……0
32/2=16……0
16/2=8……0
8/2=4……0
4/2=2……0
2/2=1……0
1/2=0……1
从下往上读,得到整数位为1000000;
再看小数位
0.125*2=0.25(个位数字为0,再取小数点后的数)
0.25*2=0.5 (个位数字为0)
0.5*2=1 (个位数字为1)
一直乘到所得数字正好为1为止,再自上往下依次读出所有的数,则
0.125(10)=0.001(2);
所以.125(10)=1000000.0001
别有畏惧心理 呵呵
(我是学pascal的,个人衷心希望你也学pascal,NOIP用pascal的比用c++或C的多得多~)
自己再出几道题算一算吧!
用电脑里的计算器验算一下!

热心网友 时间:2023-10-12 09:56

以16进制为桥梁
10转16再转2 或2转16再转10
10转16 也和 10转2 一样 就不在论述了
主要讲 2和16 的互转
2转16 要诀4位化1位 例如 10101111 可以先看成 1010 1111 然后用8421法则 像1010=8+0+2+0=12(10进制)=c(16进制)因此1010 1111换成16进制就是cf
16转2 就是1化4 反过来就行了
小子 你滴大大的明白?

热心网友 时间:2023-10-12 09:56

咱们一般用十进制,就是加十个数进一位,二进制就是加两个数就进一位 1就是1, 2就是10 ,3就是101, 4就是110 ,5就是111 .....看出来规律了吧,其实并不难
要是用四位数表示就是0001 0010 0011 0101 0110
0111 咱们一般用十进制,就是加十个数进一位,二进制就是加两个数就进一位 1就是1, 2就是10 ,3就是101, 4就是110 ,5就是111 .....看出来规律了吧,其实并不难
要是用四位数表示就是0001 0010 0011 0101 0110
0111

热心网友 时间:2023-10-12 09:57

of course
10010110101可以看成是(从后往前读)
1*2^0+0*2^1+1*2^2+0*2^3+1*2^4……+1*2^10
算起来还是比较烦的。
十进制数——二进制数
例:.125(10)= ? (2)
先看整数位
/2=32……0
32/2=16……0
16/2=8……0
8/2=4……0
4/2=2……0
2/2=1……0
1/2=0……1
从下往上读,得到整数位为1000000;
再看小数位
0.125*2=0.25(个位数字为0,再取小数点后的数)
0.25*2=0.5 (个位数字为0)
0.5*2=1 (个位数字为1)
一直乘到所得数字正好为1为止,再自上往下依次读出所有的数,则
0.125(10)=0.001(2);
所以.125(10)=1000000.0001
别有畏惧心理 呵呵

自己再出几道题算一算吧!
用电脑里的计算器验算一下!
我相信,还有其他算法!
自己推敲吧。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com