
那位大神可以给我讲解一下,下面这个C++程序,就当我是啥都不会的那种?
#include<iostream>usingnamespacestd;doublepower(doublex,intn);/*计算x的n次方*/intmain(){in...
#include <iostream>
using namespace std;
double power(double x, int n);/*计算x的n次方*/
int main()
{
int value = 0;
cout << "Enter an 8 bit binary number ";
for (int i = 7; i >= 0; i--)
{
char ch;
cin >> ch;
if (ch == '1')
value += static_cast<int>(power(2, i));
}
cout << "Decimal value is" << value << endl;
return 0;
}
double power(double x, int n)
{
double val = 1.0;
while (n--)
val *= x;
return val;
} 展开
using namespace std;
double power(double x, int n);/*计算x的n次方*/
int main()
{
int value = 0;
cout << "Enter an 8 bit binary number ";
for (int i = 7; i >= 0; i--)
{
char ch;
cin >> ch;
if (ch == '1')
value += static_cast<int>(power(2, i));
}
cout << "Decimal value is" << value << endl;
return 0;
}
double power(double x, int n)
{
double val = 1.0;
while (n--)
val *= x;
return val;
} 展开
3个回答
2020-01-28
展开全部
#include <iostream>是预处理命令-包含命令,预处理命令是在程序编译前先执行的命令,这个作用是将一个文件名为iostream的库文件在此处展开(嵌进这个文件中),库文件你不用管,它里面都是一些实现的东西,你就当它给你提供了一些便利的方法比如下面的cin,cout等函数
using namespace std;使用命名空间std最为默认空间,std空间里面有一些东西,为了防止其它空间里的东西与其它空间重名,所以引用里面的东西的时候要带上前缀,比如std::endl,表示std的endl,如果使用using namespace 空间,这种形式的话就不用多写std::endl的std了,直接写endl就可以了,让它默认使用std空间
double power(double x, int n);是先声明函数原型,为main后面的double power(double x, int n)的实现做铺垫,要写在main主函数的前面
int main()主函数,程序运行时会从后面这个'{'一直运行到与它对称的另一个'}',也就是double power(double x, int n)实现前面那个'}',这个函数很重要,是程序的入口,每个能独立运行的c++程序都必须有它,命令执行顺序是从上到下依次执行
using namespace std;使用命名空间std最为默认空间,std空间里面有一些东西,为了防止其它空间里的东西与其它空间重名,所以引用里面的东西的时候要带上前缀,比如std::endl,表示std的endl,如果使用using namespace 空间,这种形式的话就不用多写std::endl的std了,直接写endl就可以了,让它默认使用std空间
double power(double x, int n);是先声明函数原型,为main后面的double power(double x, int n)的实现做铺垫,要写在main主函数的前面
int main()主函数,程序运行时会从后面这个'{'一直运行到与它对称的另一个'}',也就是double power(double x, int n)实现前面那个'}',这个函数很重要,是程序的入口,每个能独立运行的c++程序都必须有它,命令执行顺序是从上到下依次执行
展开全部
1.
power的作用是求x的n次方
2.
main的作用是输入一个8字符的2进制字符串,将其转换为10进制后输出。如输入:11001011,则转换后的value=2^7+2^6+2^3+2^1+2^0=128+64+8+2+1=203。
power的作用是求x的n次方
2.
main的作用是输入一个8字符的2进制字符串,将其转换为10进制后输出。如输入:11001011,则转换后的value=2^7+2^6+2^3+2^1+2^0=128+64+8+2+1=203。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一行,引入了一个库函数iostream。以便后文使用cin,cout之类的。
第二行,使用名称空间,以便简化程序,比如使std::cin可以直接写为cin。
第三行,声明函数power。
然后在main函数体中,第一行定义了一个整型变量value,并初始化为0。
第二行,使用<<符号,将右边的一串流给cout,也就是输出流,代码结果就是输出右边的字符串。
第三行开启一个循环体。循环的结果是输入8次字符,如果字符刚好是1,就让value加上power(2,i)的返回结果。
并且,可以看出返回类型为double,所以,应该将返回表达式强制转换为int型,以免不小心将value的类型改变。这里使用static_cast强制转换。
然后下一行,输出结果并换行。
之后有一个power的函数体,结果就是乘方。
整个代码的目的是输入一个八位的二进制数,并转换为十进制输出。
满意请采纳呦~
第二行,使用名称空间,以便简化程序,比如使std::cin可以直接写为cin。
第三行,声明函数power。
然后在main函数体中,第一行定义了一个整型变量value,并初始化为0。
第二行,使用<<符号,将右边的一串流给cout,也就是输出流,代码结果就是输出右边的字符串。
第三行开启一个循环体。循环的结果是输入8次字符,如果字符刚好是1,就让value加上power(2,i)的返回结果。
并且,可以看出返回类型为double,所以,应该将返回表达式强制转换为int型,以免不小心将value的类型改变。这里使用static_cast强制转换。
然后下一行,输出结果并换行。
之后有一个power的函数体,结果就是乘方。
整个代码的目的是输入一个八位的二进制数,并转换为十进制输出。
满意请采纳呦~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询