二进制转换十进制步骤?

二进制转换十进制步骤?,第1张

方法一:从右到左用二进制的每个数去乘以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)为十进制。

二进制转换十进制:#include <stdio.h>

#include <string.h>

#include <math.h>int main()

{

char binary[20]

float ten=0

int i=0,t,k

scanf("%s",binary)

k=strlen(binary)

while(k--)

{

t=binary[k]-'0'

if(t)

ten+=pow(2,i)

i++

}

printf("%.0f\n",ten)

return 0

}十进制转换成二进制,八进制,十六进制的#include <stdio.h>/*输出*/

void print(int i,char *s)

{

while(i--)

{

printf("%c",s[i])

}

printf("\n")

}/*十进制转换八进制*/

void TentoE(int n)

{

int i=0

char str[10]

while(n>0)

{

str[i]=n%8+'0'

n/=8

i++

}

printf("Octal:")

print(i,str)

}/*十进制转换十六进制*/

void TentoHex(int n)

{

int i=0,t

char str[10]

while(n>0)

{

t=n%16

if(t>=10)

{

str[i]=t%10+'a'

}

else

str[i]=n%16+'0'

n/=16

i++

}

printf("Hex:")

print(i,str)

}/*十进制转换二进制*/

void TentoB(int n)

{

int i=0

char str[20]="\0"while(n>0)

{

str[i]=n%2+'0'

n/=2

i++

}

printf("Binary:")

print(i,str)

}

void main()

{

int x

scanf("%d",&x)

TentoB(x)//转换二进制并输出

TentoE(x)//转换八进制并输出

TentoHex(x)//转换十六进制并输出

}二进制转换任意进制:#include <stdio.h>

#include <string.h>

#include <math.h>int main()

{

char binary[20]

float ten=0

int i=0,t,k,nscanf("%s",binary)//输入二进制

scanf("%d",&n)//输入要转换的进制.

k=strlen(binary)

/*先将二进制转换成十进制*/

while(k--)

{

t=binary[k]-'0'

if(t)

ten+=pow(2,i)

i++

}

/*再将十进制转换成n进制*/

t=teni=0

memset(binary,'\0',20)//将字符数组清空.

while(t)

{

binary[i++]=t%n+'0'

t/=n

}

while(i--)

{

printf("%c",binary[i])

}

return 0

} 满意还请采纳..

需要准备的材料分别有:电脑、C语言编译器

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:int a = 0b10000001printf("%d", a)。

3、编译器运行test.cpp文件,此时输入的8位二进制数被成功用十进制进行了输出。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11150743.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存