相关文章推荐
爱运动的投影仪  ·  香川県教育委員会·  1 年前    · 
果断的移动电源  ·  活動舞台設計及製作.可自訂尺寸|Expo ...·  1 年前    · 
聪明的作业本  ·  下载新浪微博app下载官方版2023免费下载 ...·  3 年前    · 
奔跑的香烟  ·  幼儿园中班社会活动教案:马路上的快和慢-社会 ...·  3 年前    · 
礼貌的啄木鸟  ·  Bangumi - 萌娘百科万物皆可萌的百科全书·  3 年前    · 
小百科  ›  将二进制字符串压缩为整数字符串c++-腾讯云开发者社区-腾讯云
c++ overflow 二进制
英俊的椰子
2 年前
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
提问

问 将二进制字符串转换为整数字符串c++

Stack Overflow用户
提问于 2012-08-21 14:04:38
EN

可能重复: Converting string of 1s and 0s into binary value

我希望在c++中将二进制字符串转换为整数字符串。例如:

"000000000010" 变成 "2"

我有以下约束:不能将此字符串转换为整数类型,然后再将其转换为字符串,因为二进制字符串可能非常大!

我已经尝试用 stringstream 来完成它,用标志 std::stringstream::binary 将二进制字符串插入到它,然后使用 std::dec 标志输出内容,但是它不能工作。

先谢谢大家。

3 9.4K 0 票数 3
EN
c++
string
binary
decimal

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-21 14:14:52

你可以这样做:

  • 创建一个包含"0“的新输出字符串
  • 对于(反向)原始字符串的每个字符:
    • 将结果乘以2(数字乘以数字,注意进位)
    • 如果数字是 '1' ,则向结果中添加1(如上面所示)

​

  • 反转结果(使用 std::reverse )
票数 4
EN

Stack Overflow用户

发布于 2012-08-21 14:08:09

您可以从一个 std::bitset 构造一个 std::string ,并使用 std::bitset::to_ulong 或 std::bitset::to_ullong 获取一个整数。一定要照顾好孩子,这不是为你做的。

如果需要整数中的字符串,请使用 std::to_string 。

票数 11
EN

Stack Overflow用户

发布于 2012-08-21 14:15:50

从头顶开始,我会从0开始,然后从右到左读取二进制字符串。对于每一位,将累积值乘以2,如果该位是1,则将1加到累加值中。如果累积值大于9,将其除以10,并将其余部分写成字符。这将以相反的顺序给出十进制字符。

不要紧。这不管用。

票数 0
EN
页面原文内容由 Stack Overflow 提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12056642

复制

Copyright © 2013 - 2024 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

 
推荐文章
爱运动的投影仪  ·  香川県教育委員会
1 年前
果断的移动电源  ·  活動舞台設計及製作.可自訂尺寸|Expo King 網上一站式展覽服務
1 年前
聪明的作业本  ·  下载新浪微博app下载官方版2023免费下载安装最新版
3 年前
奔跑的香烟  ·  幼儿园中班社会活动教案:马路上的快和慢-社会-幼儿园教案- 资源 ...
3 年前
礼貌的啄木鸟  ·  Bangumi - 萌娘百科万物皆可萌的百科全书
3 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
小百科 - 百科知识指南
© 2024 ~ 沪ICP备11025650号