二进制数0.11转换成十进制数,结果为______。
二进制数0.11转换成十进制数,结果为______。A.(A)0.75B.(B)0.5C.(C)0.2D.(D)0.25哪个正确呢?答对的有50分...
二进制数0.11转换成十进制数,结果为______。
A. (A)0.75
B. (B)0.5
C. (C)0.2
D. (D)0.25
哪个正确呢?答对的有50分 展开
A. (A)0.75
B. (B)0.5
C. (C)0.2
D. (D)0.25
哪个正确呢?答对的有50分 展开
8个回答
展开全部
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(d<2||d>16)
{
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)\n",num,str,scale[i]);
else
printf("%5d => (%d) Error! \n",num,scale[i]);
}
printf("\n Press any key to quit...\n");
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
int trans(unsigned n, int d, char s[])
{
static char digits[] ="0123456789ABCDEF"; /* 十六进制数字的字符 */
char buf[M+1];
int j, i = M;
if(d<2||d>16)
{
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)\n",num,str,scale[i]);
else
printf("%5d => (%d) Error! \n",num,scale[i]);
}
printf("\n Press any key to quit...\n");
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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案是A. 0.11B=2^-1+2^-2=0.5+0.25=0.75
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
AAAA
将二进制数0.11转换成十进制数
(0.11)2 =1×2-1+1×2-2=0.5+0.25=(0.75)10
总 结:
一般来说, 对于一个有n 位整数和m位小数的二进制数[X]2表达式可以写成:
[X]2 = an×2 n-1+an-1×2 n-2+…+a1×20+ a-1×2-1+ a-2×2-2+…+a-m×2-m
式中 a 1 、…、 a n-1 为系数,可取 0 或 1 两种值; 20 、21 、…、 2n-1 为各数位的权。
将二进制数0.11转换成十进制数
(0.11)2 =1×2-1+1×2-2=0.5+0.25=(0.75)10
总 结:
一般来说, 对于一个有n 位整数和m位小数的二进制数[X]2表达式可以写成:
[X]2 = an×2 n-1+an-1×2 n-2+…+a1×20+ a-1×2-1+ a-2×2-2+…+a-m×2-m
式中 a 1 、…、 a n-1 为系数,可取 0 或 1 两种值; 20 、21 、…、 2n-1 为各数位的权。
参考资料: 专业人士
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A. (A)0.75
(0.11)2 =1×2-1+1×2-2=0.5+0.25=(0.75)10
(0.11)2 =1×2-1+1×2-2=0.5+0.25=(0.75)10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询