q123456fuhuhfuh 2021-07-29 18:18 采纳率: 33.3%
浏览 32

将一个二进制数转换成十进制数。

int len=s.length();
long long n=0;
for(int i=0;i<len;++i)
{
//其中注意if的判断两个条件相等的符号
    if(s[i]=='1')
        n+=pow(2,len-1-i);
}
cout<<n;
return 0; 

}

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-07-29 18:24
    关注

    代码如下:

    #include <iostream>
    #include <string>
    #include <math.h>
    using namespace std;
    int main()
    {
        string s;
        cin >> s;
        int len=s.length();
        long long n=0;
        for(int i=0;i<len;++i)
        {
            //其中注意if的判断两个条件相等的符号
            if(s[i]=='1')
                n+=pow(2.,len-1-i);
        }
        cout<<n;
        return 0; 
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 7月29日

悬赏问题

  • ¥15 fastreport怎么判断当前页数
  • ¥15 Kylin-Desktop-V10-GFB-Release-JICAI_02- 2207-Build14-ARM64.iso有没有这个版本的系统啊
  • ¥15 能不能通过蓝牙将传感器数据传送到手机上
  • ¥20 100元python和数据科学实验项目
  • ¥15 根据时间在调用出列表
  • ¥15 R 包chipseeker 安装失败
  • ¥15 Veeam Backup & Replication 9.5 还原问题
  • ¥15 vue-print-nb
  • ¥15 winfrom的datagridview下拉框变成了黑色,渲染不成功
  • ¥20 利用ntfy实现短信推送