c_cpp 十进制二进制转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 十进制二进制转换相关的知识,希望对你有一定的参考价值。

#include<bits/stdc++.h>
using namespace std;

// #BitManipulation

long long BtoD1(string x){ // using pow(2,place)
    long long dec=0;
    int n=x.size();
    for(int i=0;i<n;i++){
        if(x[i]=='1'){
            dec=dec|(1<<(n-1-i));
        }
    }
    return dec;
}

string DtoB(long n){
    string bin;
    while(n>0){
        bin.insert(bin.begin()+0,(n%2)+'0');
        n/=2;
    }
    return bin;
}

long long BtoD2(string x){ // using bitwise operations
    long long dec=0;
    int n=x.size();
    for(int i=0;i<n;i++){
        if(x[i]-'0'){ // if==1
            dec+=(x[i]-'0')<<(n-1-i);
        }
    }
    return dec;
}

int main(){
    cout<<BtoD1("11011110011")<<endl;
    cout<<BtoD2("11011110011")<<endl;
    cout<<DtoB(1779)<<endl;
    return 0;
}

以上是关于c_cpp 十进制二进制转换的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp C片段将十进制转换为二进制

c_cpp 将十进制转换为十六进制

c_cpp 转换为二进制表示的.cpp

c_cpp 108.将Sorted Array转换为二进制搜索树

c_cpp [十进制数转罗马数字]将一个十进制数字符串转换为罗马数字字符串#字符串处理

c_cpp Objective-C类将十六进制字符串转换为UIColor。支持#RGB#ARGB #RRGGBB #AARRGGBBUsage:[UIColor colorWithHexString: