首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将二进制转换为十进制内建函数

问将二进制转换为十进制内建函数
EN

Stack Overflow用户
提问于 2014-03-29 04:22:07
回答 4查看 11.7K关注 0票数 1

我必须在C++中进行二进制到十进制的转换。

我知道如何手动完成此操作,但我想知道是否有一个函数可以为我完成此操作。

例如,如果我有一个十进制数,我想把它打印成另一个基数,我只需要使用setbase(base)。

代码语言:javascript
复制
std::cout<<std::setbase(16)<<20; // prints 20 in base 16.

除了将二进制转换为十进制之外,还有什么方法可以做到这一点吗?

EN

回答 4

Stack Overflow用户

发布于 2015-06-05 01:22:23

代码语言:javascript
复制
std::string bin("1101");
int dec = std::stoi(bin, nullptr, 2); // dec = 13

阅读:stoi

票数 5
EN

Stack Overflow用户

发布于 2016-10-02 22:35:22

您可以将字符串转换为任何编号系统,如二进制、十六进制和十进制表示法。这是使用以下函数完成的:stoi(string variable,nullptr,base)。字符串变量是需要转换的变量。nullptr指向size_t类型的对象,该对象的值由函数设置为字符串变量中数字value.It后的下一个字符的位置可以是空指针。对于二进制16,基可以是2;对于十六进制0,基可以是2,用于自动基检测。注意,stoi函数是在C++11.So中引入的,请确保您的编译器设置正确,并且/或者您的编译器支持C++11.So。请确保您的设置与c++11匹配。

票数 0
EN

Stack Overflow用户

发布于 2019-02-06 22:08:32

//s是字符串形式的二进制数

代码语言:javascript
复制
    bitset<32> b(s);

    int dec=b.to_ulong();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22722513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档