当前位置: 首页 > news >正文

【C++练习】二进制到十进制的转换器

题目:二进制到十进制的转换器

描述

编写一个程序,将用户输入的8位二进制数转换成对应的十进制数并输出。如果用户输入的二进制数不是8位,则程序应提示用户输入无效,并终止运行。

要求

  1. 程序应首先提示用户输入一个8位二进制数。
  2. 验证输入的字符串是否为8位,如果不是,则输出错误信息并终止程序。
  3. 如果输入有效,则将8位二进制数转换为十进制数。
  4. 输出转换后的十进制数。

源代码:

#include <iostream>  
#include <string>  
using namespace std;int binaryToDecimal(string binary) {int decimal = 0;for (int i = 0; i < binary.length(); ++i) {decimal = decimal * 2 + (binary[i] - '0');}return decimal;
}int main() {string binary;cout << "请输入一个8位二进制数: ";cin >> binary;if (binary.length() != 8) {cout << "输入的不是8位二进制数,请重新输入。" << endl;return 1;}int decimal = binaryToDecimal(binary);cout << "转换后的十进制数是: " << decimal << endl;return 0;
}

运行截图:

http://www.lryc.cn/news/481256.html

相关文章:

  • Vue功能菜单的异步加载、动态渲染
  • 云技术基础学习(一)
  • 【优选算法篇】微位至简,数之恢宏——解构 C++ 位运算中的理与美
  • MFC工控项目实例二十九主对话框调用子对话框设定参数值
  • Java | Leetcode Java题解之第546题移除盒子
  • 【前端】Svelte:响应性声明
  • PostgreSQL 性能优化全方位指南:深度提升数据库效率
  • Flutter鸿蒙next 使用 BLoC 模式进行状态管理详解
  • Gen-RecSys——一个通过生成和大规模语言模型发展起来的推荐系统
  • Android 重新定义一个广播修改系统时间,避免系统时间混乱
  • 第3章:角色扮演提示-Claude应用开发教程
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
  • 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
  • Git LFS
  • 基于Redis缓存机制实现高并发接口调试
  • 数字化转型实践:金蝶云星空与钉钉集成提升企业运营效率
  • Flutter 鸿蒙next 中使用 MobX 进行状态管理
  • 1.62亿元!812个项目立项!上海市2024年度“科技创新行动计划”自然科学基金项目立项
  • Redis数据库测试和缓存穿透、雪崩、击穿
  • [vulnhub] DarkHole: 2
  • 《XGBoost算法的原理推导》12-2 t轮迭代中对样本i的预测值 公式解析
  • ./bin/mindieservice_daemon启动成功
  • Linux: network: ip link M-DOWN的具体含义是什么?
  • Spring中的过滤器和拦截器
  • leetcode20.括号匹配
  • Unity性能优化-具体操作
  • 【嵌入式开发——ARM】1ARM架构
  • Linux中.NET读取excel组件,不会出现The type initializer for ‘Gdip‘ threw an exception异常
  • mmclassification的配置文件样本
  • Java基础——类和对象的定义链表的创建,输出