十进制的小数,比如0.11,怎么转化成二进制的数字? 0.11二进制转化为十进制等于多少?

www.zhiqu.org     时间: 2024-06-17
十进制小数转换为二进制小数
0.11十进制转换成二进制为0.000 111 000 010 100 011 110 1 开始循环0 111 000 010 100 011 110 1 循环0 111 000 010 100 011 110 1

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
十进制小数转二进制
如:0.625=(0.101)B
0.625*2=1.25======取出整数部分1
0.25*2=0.5========取出整数部分0
0.5*2=1==========取出整数部分1
再如:0.7=(0.1 0110 0110...)B
0.7*2=1.4========取出整数部分1
0.4*2=0.8========取出整数部分0
0.8*2=1.6========取出整数部分1
0.6*2=1.2========取出整数部分1
0.2*2=0.4========取出整数部分0
0.4*2=0.8========取出整数部分0
0.8*2=1.6========取出整数部分1
0.6*2=1.2========取出整数部分1
0.2*2=0.4========取出整数部分0,

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。
具体做法如下:

用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的整数部分为零,或者整数部分为1,此时0或1为二进制的最后一位。或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

二进制数0.11转换成十进制数,结果为______。~

define M sizeof(unsigned int)*8
int trans(unsigned n, int d, char s[])
{
static char digits[] ="0123456789ABCDEF"; /* 十六进制数字的字符 */
char buf[M+1];
int j, i = M;
if(d16)
{
s[0]='\0'; /* 不合理的进制,置s为空字符串 */
return 0; /* 不合理的进制,函数返回0 */
}
buf[i]='\0';
do
{
buf[--i]=digits[n%d]; /*译出最低位,对应字符存入对应工作数组中*/
n/=d;
}while(n);
/* 将译出在工作数组中的字符串复制到s */
for(j=0;(s[j]=buf[i])!='\0';j++,i++);
/* 其中控制条件可简写成s[j]=buf[i] */
return j;
}
/* 主函数用于测试函数 trans() */
main()
{
unsigned int num = 253;
int scale[]={2,3,10,16,1};
char str[33];
int i;
clrscr();
for(i=0;i<sizeof(scale)/sizeof(scale[0]);i++)
{
if(trans(num,scale[i],str))
printf("%5d = %s(%d)
",num,str,scale[i]);
else
printf("%5d => (%d) Error!
",num,scale[i]);
}
printf("
Press any key to quit...
");
getch();
}
用c语言吧!!!
选A
还可以手算
例如
0.11111二进制=0.5+0.25+0.125+0.0625+0.03125
0.11011二进制=0.5+0.25+0.000+0.0625+0.03125
0.11101二进制=0.5+0.25+0.125+0.0000+0.03125
0.111四进制=0.25+0.0.0625+0.015625
0.111八进制=0.125+0.015625+0.00195325

十进制103.68转为二进制等于1100111.11

这个肯定不成立,而且整数部分少写了一个0

103=0110 0111

0.11转十进制的算法是这样的
1*2的(负一次方)+1*2的(负二次方)=0.5+0.25=0.75

0.68(十进制)转二进制:

0.68*2=1.36
0.8*2=1.6
从上到下取整数就是11
----------------------------这种算法是错的。
【1】0.68*2=1.36 取整数部分“1”
【2】(1.36-1)*2=0.72
因为你提供的0.68,最终肯定无法得到一个0或整数,因此,
103.68=1100111.11
是觉得不能划上等号的!

二楼的答案也肯定是错的,小数点后面,这个估计算不出来的!


#子娅制# 十进制数的小数部分转化成二进制数,怎么做?
(15341364462): 十进制数的小数部分转化成二进制数的方法:乘2取整例:将十进制数的0.625转化成二进制数0.625*2=1.25 整数为10.25*2=0.5 整数为00.5*2=1.0 整数为1所以:0.625D=0.101B

#子娅制# 十进制数转换为二进制数? -
(15341364462): 第二个.· 十进制整数转二进制数:"除以2取余,逆序输出" 例: (29)10=(11101)2 2 29 ……1 2 14 …… 0 2 7 …… 1 2 3 …… 1 2 1 …… 1 0 · 十进制小数转二进制数:"乘以2取整,顺序输出" 例: (0.625)10= (0.101)2 0.625 X 2 1.25 ……1 X 2 0.5 ……0 X 2 1.0 ……1 是这样算的

#子娅制# 十进制小数怎么转换二进制数,例如:25.6875 -
(15341364462): 整数部分除以2取余25÷2=12……1 (2∧0位)12÷2=6……0 (2∧1位)6÷2=3……0 (2∧2位)3÷2=1……1 (2∧3位)1÷2=0……1 (2∧4位) 十进制数25转换成二进制数是11001 小数部分乘以2取整

#子娅制# 十进制转换成二进制中,小数点后面的数字怎么转换? -
(15341364462): 小数转换方法———乘基取整法 把十进制小数乘以2,取其积的整数部分作对应二进制小数的最高位系数k -1 再取积的纯小数部分乘以2,新得积的整数部分又作下一位的系数k -2 ,再取其积的纯小数部分继续乘2,…,直到乘积小数部分为0时停止,这时乘积的整数部分是二进制数最低位系数,每次乘积得到的整数序列就是所求的二进制小数.这种方法每次乘以基数取其整数作系数.所以叫乘基取整法.需要指出的是并不是所有十进制小数都能转换成有限位的二进制小数并出现乘积的小数部分0的情况,有时整个换算过程无限进行下去.此时可以根据要求并考虑计算机字长,取定长度的位数后四舍五入,这时得到的二进制数是原十进制数的近似值.

#子娅制# 如何把十进制数字转换为二进制数字? -
(15341364462): 十进制整数转二进制: 就是把该十进制数,用二因式分解,取余. 以12为例,转为二进制 2除以12得6,余0,取0 2除以6得3,余0,取0 2除以3得1,余1,取1 最后剩下1,由它开始写起,就可得1100的二进制结果 十进制中的小数转为二进制:, 就是把该小数不断乘2,再取所得的整数部份,直至没有小数为止,但请注意并不是所有小数都能转到! 以0.875为例, 0.875剩以2得1.750,取整数1 0.750剩以2得1.500,取整数1 0.500剩以2得1,取整数1,就可得0.111的二进制结果

#子娅制# 如果十进制中是一个小数如何将它转换成二进制? -
(15341364462): 好像是把小数乘以2,例如:十进制的0.625转换为二进制,只要把0.625*2=1.25……取1 0.25*2=0.5………取0 0.5*2=1…………取1 所以十进制的0.625转换为二进制就是0.101 规律就是把小数乘以2,如果小数点前面有整数就减1,把余下的再乘以2,知道把所有小数的化为整数.

#子娅制# 怎么把有小数的数字十进制转化为二进制的啊? -
(15341364462): 十进制小数N转化为二进制数,反复将N乘以2,得到的整数,顺排列. 例1-5 将十进制小数0.5625转化为二进制数. 解答: 0.5625*2=1.125 整数部分为1,小数部分为0.125 0. 125*2=0.25 整数部分为0,小数部分为0.25 0.25*2=0. 5 整数部分为0,小数部分为0.5 0.5*2=1.0 整数部分为1,小数部分为0 因此,0.5625的二进制表示形式为0.1001 如此继续下去,直到小数为0时或满足精度要求(有时小数部分永远也不会为0),由此可以看出,反复乘二得整数部分,并将其按得到的先后顺序排列起来为a1a2a3…,就是N的二进制表示.

#子娅制# 如何把带小数的十进制转换成二进制数? -
(15341364462): 4)十至二:整除:除2取余(从下向上记录)小数乘2取整 0.25D=0.01B 0.25 * 2 —— 0.50 整数=0 * 2 —— 1.00 整数=1

#子娅制# 十进制小数转化成二进制 -
(15341364462): 对于整数,可以表示为2的n次方的序列和.对于小数,就应该表示为2的负n次方的和. 由于2的负n次方序列的10进制数仅有:0.5,0.25,0.125,0.075,0.0275.... 通常10进制的小数化为2进制的小数后,通常是2进制下的无限小数. 简单地,如果一个10进制的小数可以通过乘以2的n次方的数结果为整数,那么,就可以通过简单的公式,化为2进制小数.例如, 0.625 * 8 = 5, 5H = 101D, 那么,0.625H=0.101D 期望听到其他答案.

#子娅制# 十进制小数如何转换为二进制
(15341364462): 乘2取整,比如: 0.325 x 2 = 0.65 (取0) (0.65 - 0) x 2 = 1.3 (取1) (1.3 - 1) x 2 = 0.6 (取0) (0.6 - 0) x 2 = 1.2 (取1) (1.2 - 1) x 2 = 0.4(取0) (0.4 - 0) x 2 = 0.8(取0) (0.8 - 0) x 2 = 1.6 (取1) (1.6 - 1) x 2 = 1.2 (取1) ...... 这个小数最终等于0.010 10011…… (10011循环)