C++编程积累——C++实现十进制与二进制之间的互相转换

2023-11-03

欢迎关注原创公众号 【计算机视觉联盟】,回复 【西瓜书手推笔记】 可获取我的机器学习纯手推笔记!

直达笔记地址:机器学习手推笔记(GitHub地址)

目录

十进制与二进制之间的转换

十进制转换二进制

C++实现十进制转换二进制

二进制转换十进制

C++实现二进制转换十进制


十进制与二进制之间的转换

十进制转换二进制

十进制对2整除,得到的余数的倒序即为转换而成的二进制

十进制转换二进制

C++实现十进制转换二进制

 主函数main.cpp为:

#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
    
    int N;
    cout << "Please enter the number: ";
    cin >> N;
    cout << endl;

    //十进制转二进制的声明和调用
    void  convert_10_to_2(int num);
    convert_10_to_2(N);
}

十进制转换为二进制函数为: 

#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<cmath>
using namespace std;
void convert_10_to_2(int num)
{
    vector<int> ivec;
    int Num = num;  //存储原数据
    //对原数据循环求除以2的余数,并存储在vector对象中
    while (num != 0)
    {
        ivec.push_back(num % 2);
        num = num / 2;
    }

    //对求得的余数倒序排序并存储在vector中,求得二进制
    vector<int>::size_type sz = ivec.size();
    vector<int> ivec2;
    for (vector<int>::size_type index = 0; index != sz; ++index)
        ivec2.push_back(ivec[sz - 1 - index]);

    //输出十进制转换为二进制的数
    cout <<Num  << "十进制转二进制后为:";
    for (auto item : ivec2)
        cout << item;
    cout << endl<<endl;
}

运行结果为:


二进制转换十进制

将二进制从右往左从零次幂开始乘以二进制数并求和

二进制转换为十进制

C++实现二进制转换十进制

C++主函数为:

#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
    double convert_2_to_10();
    convert_2_to_10();
    return 0;
}

二进制转十进制函数为:

#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
double convert_2_to_10()
{
    //输入二进制数并存储在vector变量ivec2中
    cout << "Please enter the ErJInZhi numbers:  " << endl;
    int n;
    vector<int> ivec2;
    while (cin >> n)
    {
        ivec2.push_back(n);
    }

    //二进制转十进制计算
    double sum = 0, times;
    vector<int>::size_type sz = ivec2.size();
    for (vector<int>::size_type index = 0; index != sz; ++index)
    {
        times = pow(2, sz - 1 - index);
        sum += ivec2[index] * times;
    }

    //输出转化后的结果
    cout << "2进制——";
    for (vector<int>::size_type index = 0; index != sz; ++index)
        cout << ivec2[index];
    cout << "转10进制为: ";
    cout << sum << endl;
    return 0;
}

运行结果:(输入二进制时要以空格区分)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++编程积累——C++实现十进制与二进制之间的互相转换 的相关文章

随机推荐

  • Eclipse中使用Mybatis自动生成

    插件的安装 Help gt Eclipse Marketpalce 搜索mybatis 选择如下图的插件 一路安装 重启idea 配置文件的生成 new gt file gt other 搜索mybatis 选择如下图文件 运行文件 自动生
  • 【华为OD】

    一 题目描述 某公司研发了一款高性能 AI 处理器 每台物理设备具备 8 颗 AI 处理器 编号分别为 0 1 2 3 4 5 6 7 编号 0 3 的处理器处于同一个链路中 编号 4 7 的处理器处于另外一个链路中 不通链路中的处理器不能
  • 分页---Vue+.net+bootstrap实现

    通过学习Vue 的确觉的Vue的双向绑定使用起来十分方便 因此研究了一下列表显示时分页的实现 这里我使用了bootstrap的样式 所以在页面中引用bootstrap的样式文件 后台提数据源使用 net的 数据库访问使用EF 如果库中存有大
  • SvelteKit 1.0 - 建立个人博客,显示您的 DEV 帖子

    这篇文章的目的是提供最新版本的 SvelteKit 的简要介绍 我们将构建一个开发人员组合和博客网站 从您的 RSS 提要和 GitHub API 中获取数据 内容 SvelteKit 简介 我们要建造什么 让我们开始吧 步骤 0 先决条件
  • seaborn 超全用就完事了

    seaborn Seaborn 01 图控制 01 Seaborn 02 颜色板控制 02 Seaborn 03 数据分布图 03 Seaborn 04 Jointplot两变量图 04 Seaborn 05 Pairplot多变量图 05
  • 大一同学快要期末考试的Python专业课复习 第一章

    第一章 Ptthon 简介 1 1 Python 概述 1 2 搭建 Python 开发环境 1 3 第一个 Python 程序 1 3 1 在IDLE 中编写 Hello World 程序 1 3 2 运行 Python 程序 1 4 P
  • SpringBoot定时任务及分布式锁

    目录 目录 目录 前言 一 定时任务 二 Cron表达式 用短横线 表示时间段 用L表示最后 L是单词Last 最后的 的首字母 Scheduled常用参数的差异 三 分布式锁 分布式锁 项目目中的问题及解决办法 分布式锁的实现 前言 需求
  • 编写测试分析

    编写测试分析的目的 在方向上明确要测什么 怎么测 以及达到什么样质量标准 按照从主到次 从上到下 梳理系统思路 明确测试点 便于对需求的了解和分析 通过编写软件测试分析可间接整理出需求设计的缺陷 提前了解整体测试任务 预测测试风险 测试分析
  • vue项目发布后,webpack源码F12能查看

    正常情况下 webpack 打包的 vue 项目 发布后在浏览器中F12可以直接查看到前端源码 解决这个问题 在 config js 文件中找到 productionSourceMap true 改为 false 如果没有效果 增加 Sou
  • YOLO的训练数据和标注方法是怎样的?如何准备和处理数据集?

    YOLO You Only Look Once 是一种高效的实时目标检测算法 它在训练过程中需要准备适当的数据集和相应的标注 本文将介绍YOLO算法的训练数据和标注方法 以及如何准备和处理数据集 为读者提供一个全面的指南 YOLO的训练数据
  • angular 指令渲染_[Angular 组件库 NG-ZORRO 基础入门] - 待办事项 + 双向绑定

    前言回顾 这几天我们已经完成了 TODO 待办事项 的一些基本功能 涉及多个组件的使用方式 今天我们将 TODO 待办事项 的一些组件独立出来维护 介绍一些组件设计的小方法后 我们将对这个项目里涉及的组件进行一一讲解 有助于大家更加深刻地理
  • 阿里矢量图刷新显示异常

    在vue中使用阿里矢量图遇到了刷新丢失问题 一开始我使用的是在根html中引入的方式 在使用过程中莫名的遇到了刷新丢失问题 于是更改了新的css引入方式 main js中新增引入 import font iconfont css 在vue模
  • 超详细Git下载安装配置使用教程,从入门到上传本地项目到GitHub,一文就够了

    前言 身为一个合格的程序Yuan Git工具我们必然是要掌握的 那么对于小白来讲一定有这几个疑问 Git是什么 怎么使用 怎么配置 Git命令是什么 本文将从这几方面帮助大家了解和使用Git 关于Git Git是一个开源的分布式版本控制系统
  • 前端的图片压缩image-compressor(可在图片上传前实现图片压缩)

    转载自 作者 言墨儿 链接 https www jianshu com p 3ce3e3865ae2 作者 UYOU 链接 https www imooc com article 40038 来源 慕课网 image compressor
  • [网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)

    这是作者的系列网络安全自学教程 主要是关于网安工具和实践操作的在线笔记 特分享出来与博友共勉 希望您们喜欢 一起进步 前文分享了Python弱口令攻击 自定义字典生成 调用Python的exrex库实现 并结合Selenium和BurpSu
  • html标签的分类

    HTML标签分类 在HTML页面中 带有 lt gt 符号的元素被称为HTML标签 如上面提到的 都是HTML标签 所谓标签就是放在 lt gt 标签符中表示某个功能的编码命令 也称为HTML标签或 HTML元素 1 双标签 lt 标签名
  • c++之qt学习 基本介绍 界面设计 串口

    这里写目录标题 qt基类介绍 qt不同版本 qt下载 打开qt creater 制作简单qt界面 ui界面 点击forms 双击ui文件 就可以进入ui编辑器 qt信号和槽 给界面增加图片 界面布局 布局不会影响代码 界面切换 更改代码 验
  • ctf.show web 刷题记录

    文章目录 红包题第二弹 web13 web14 方法一 方法二 红包题第六弹 红包题第二弹 打开题目 提示参数cmd 我们随便输入 cmd 1 得到源代码 ctf show 红包题 where is the flag
  • 微信扫物上线,全面揭秘扫一扫背后的识物技术!

    导语 12月23 日 微信扫物 iOS 版本正式上线 从识别特定编码形态的图片 到精准识别自然场景中商品图片 有哪些难点需要去克服 扫物以图片作为媒介 聚合微信内部有价值的生态内容如电商 百科 资讯进行展示 会催生哪些新的落地场景 本文将细
  • C++编程积累——C++实现十进制与二进制之间的互相转换

    欢迎关注原创公众号 计算机视觉联盟 回复 西瓜书手推笔记 可获取我的机器学习纯手推笔记 直达笔记地址 机器学习手推笔记 GitHub地址 目录 十进制与二进制之间的转换 十进制转换二进制 C 实现十进制转换二进制 二进制转换十进制 C 实现