栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++语言实现二进制转换进阶

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++语言实现二进制转换进阶

【问题描述】

编写函数实现给定一个长度为16的"0","1"序列和一个正整数n,输出二进制序列循环左移n位后所表示的10进制数,不考虑符号位。

禁止使用C++自带的二进制串转化为数字的函数。测试样例保证n<100,n>=0。

【输入形式】从标准输入输入二进制串和正整数n,空格隔开

【输出形式】二进制串循环左移n位后所表示的10进制数

【样例输入】0000111100001111 2

【样例输出】15420

【样例说明】循环左移2位后的二进制串为0011110000111100

#include

using namespace std;

string s;
int n;
int turn(string s);
int solve(string s,int n)//循环移位
{
    int ans=0;
    string t;
    if(n>=16) return 0;
    t=s.substr(n,16-n);
    for(int i=0;i=0;i--)
    {
        ant+=(s[i]-'0')*pow(2,16-i-1);
    }
    return ant;
}
int main()
{
    cin>>s>>n;
    //cin>>s;
    //cout<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/347211.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号