当前位置:系统粉 > 电脑问答 > 其他问答 > 帮帮我看一个C的问题。

帮帮我看一个C的问题。

提问者:love赤堤桃子  |  浏览 次  |  提问时间:2017-02-08  |  回答数量:3

牋牋编程实现输入一个8位的二进制数,将其转换为十进制数输出。将二进制转换为十进制,只要将二进制数的每一位乘以该位的权然后相加。例如:000011012 = 0(27) + 0(26) + 0(25) + 0(24) + 1(23) + 1(22) + 0(21) + 1(20)= 1310 要求定义一个求x的n次方的函数power。(注:不能调用系统函数,而是自己实现)。在主函数中输入二进制数(如:000011012),调用自定义的power函数实现转换,并输出结果。帮帮忙

已有3条答案
天天无限吧务组

天天无限吧务组

回答数:68  |  被采纳数:106

2017-02-08 09:21:42
二进制转10进制不需要power#include "string.h"#include "stdio.h"void main(){ char str[]="10101110"; int value=0; int len=strlen(str); for(int i=len-1;i>=0;i--) { value|=((str[i]-&#39;0&#39;)<<(len-1-i)); } printf("%d",value);}复制代码要power也可以int power(int n){return 1<<n;}void main(){char str[]="10101110";int value=0;int len=strlen(str);for(int i=len-1;i>=0;i--){if(str[i]-&#39;0&#39;){ value+=power(len-1-i);}}printf("%d",value);}复制代码
赞 6
槿年nnnn

槿年nnnn

回答数:207  |  被采纳数:16

2017-02-08 14:32:19
55 (1) 还有其他更简单的么。。看不懂上面的程序。。指针没学到
赞 20
樱yig

樱yig

回答数:154  |  被采纳数:95

2017-02-08 12:15:43
2的N次方也就是1<<N,str[ i]-&#39;0&#39;可以把字符转成int类型的0或1,所以0(27) + 0(26) + 0(25) + 0(24) + 1(23) + 1(22) + 0(21) + 1(20)=0+0+0+0+1<<23+1<<22+0+1<<20
赞 15
解决方法
  • 微软的MR跟VR有啥区别?这个设备帮你先看一步

    微软的MR跟VR有啥区别?这个设备帮你先看一步

    近几年AR/VR技术作为未来最炙手可热的技术之一被广大的厂商和用户所追捧,不计其数的行业元老,IT巨头倾尽全力投身VR虚拟现实。最早的VR只存在于设计师的脑海里,如今的VR却已经可...

  • 作业帮如何查看课程 作业帮查看课程的方法

    作业帮如何查看课程 作业帮查看课程的方法

    今天给大家带来作业帮如何查看课程,作业帮查看课程的方法,让您轻松解决问题。作业帮课程查看方法,作业帮课程怎么查。像学习上遇到的很多,很多都是用写是表达不清楚的,只有用说方能表达。...

  • 高手帮你电脑没有声音的问题

    高手帮你电脑没有声音的问题

      电脑没声音看似简单,其实有时问题比较复杂,既涉及到硬件方面的问题又涉及到软件方面的问题 因此,要先查明原因,看是软件还是硬件出了故障,然后针对问题对症下药 千万不能原因不明...

  • 善用Win7帮助和支持 系统问题全搞定

    善用Win7帮助和支持 系统问题全搞定

    善用Win7帮助和支持 系统问题全搞定      被搜索引擎惯坏的用户,遇到任何问题都会首先想去“百度一下”。这虽然很...

版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航