请教一个c++问题:value+=static_cast<int>(power(2,i));value+=static_cast<int>(power(2,i));这句不明白

RT全部代码:#include<iostream>usingnamespacestd;doublepower(doublex,intn){doubleval=1.0;wh... RT
全部代码:
#include <iostream>
using namespace std;
double power(double x,int n)
{
double val=1.0;
while (n>=0)
{
val*=x;
n--;
}
return val;
}
int main()
{
int value=0;
cout<<"输入一个八位二进制数:";
for (int i=7;i>=0;i--)
{
char ch;
cin>>ch;
if(ch=='1')
value+=static_cast<int>(power(2,i));
}
cout<<"对应的十进制的数值为:"<<value<<endl;

return 0;
}
展开
 我来答
adoqq_bd
2011-11-29 · TA获得超过7050个赞
知道大有可为答主
回答量:1818
采纳率:63%
帮助的人:1600万
展开全部
static_cast<int>(power(2,i))相当于(int)(power(2.i); 就是把power(2,i)的结果强制转换为int类型
327962924
2018-08-14
知道答主
回答量:3
采纳率:0%
帮助的人:2.3万
展开全部
value+=static_cast<int>(power(2,i))
2的i次方结果为double类型,转换为int类型,然后累加到value上。
static_cast<int>将数据转换为int类型。
前面那一段代码是定义了一个函数(x的n次方)即power函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhfk2004
2011-11-29 · TA获得超过161个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:183万
展开全部
赞成1楼的回答。
static_cast < type-id > ( expression )
该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式