单片机c语言如何表示二进制,单片机C语言中将二进制数转化为十进制的办法

2023-11-11

单片机C语言中将二进制数转化为十进制的办法

1.最简单最直观的方法,将2进制方式表示的数转化为10进制表示的数,要用除10取余法,步骤如下

被除数记为x,10进制表示的结果用数组a表示

1. i=0;

2. a[i]= x % 10; x=x/10; i++;

3. 如果x>0,转2,否则转4

4. 将数组a逆序

2.上面的方法虽然简单,但是速度很慢,假如结果需要n位10进制数,大约需要进行 n^2/2 次除法。一种改进的方法是: 除以10^k来代替除以10,典型的做法是除以10^9,这样得到余数将是0-10亿之间的数,因此采用该法需要2个阶段的计算。

第1阶段,将2进制数转化为一个整形数组,数组中的每个元素为0- 999999999 的数。这个阶段需要做 n^2/(81*2)次 64bit/32bit的除法。

第2阶段,将每个10^9以内的数转化为9位‘0’-‘9’之间的数字,结合除法和查表,每个10^9以内的数转化为9位数字,仅仅需要2次除法。这一阶段需要需要 n/9*2=n/4.5次除法,当n较大时,相对于第一阶段,运算量可忽略不计,因此这个方法比方法1要快45(9*9/2)倍.

3.多位数(大数)乘以或除以一位数(这里指可以用内置的整数

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

单片机c语言如何表示二进制,单片机C语言中将二进制数转化为十进制的办法 的相关文章

  • CentOS下使终端输入汉字的详细步骤

    1 首先打开系统的设置 点击区域和语言 2 点击 号选择汉语 Intelligent Pinyin 3 然后突出点击右上角切换到汉语拼音 这样就可以在终端输入汉字了 附 如果系统中没有汉语 pinyin 则在终端下输入以下命令进行安装 yu
  • Nvidia-smi 不显示

    在Nvidia驱动已经安装完成的情况下 有时候执行nvidia smi仍会出现无法识别GPU的情况 有两个有效的解决方案 方案一 sudo apt get install dkms sudo dkms install m nvidia v
  • 使用Vagrant创建和管理本地Kubernetes(K8s)集群的步骤是什么

    文章目录 步骤1 准备环境 步骤2 创建Vagrantfile 步骤3 启动虚拟机 步骤4 安装Kubernetes 步骤5 配置Kubernetes网络插件 步骤6 将Worker节点加入集群 步骤7 验证集群 步骤8 部署应用 步骤9
  • 数据访问:MyBatis-Plus&Druid数据源

    数据访问 MyBatis Plus Druid数据源 SpringBoot集成MyBatis Plus MyBatis Plus简介 Lombok简介和安装 添加CRUD接口 分页插件 代码生成器 SpringBoot集成Druid数据源
  • Servlet的两个Map

    Servlet中第一个请求到达tomcat容器时 容器会对请求进行解析 去除 ip port context path 得到 uri web应用在启动时会创建这两个map 第一个map的value在初始时值都为空 第二个map在初始时值为s
  • 《概率论与数理统计》——概率公式

    1 逆事件公式 2 加法公式 3 减法公式 4 条件概率 设 A B 为任意事件 若 P A gt 0 我们称在已知事件 A 发生的条件下 事件 B 发生的概率为条件概率 记作 P B A 5 乘法公式 6 全概率公式 7 贝叶斯公式
  • 【代码随想录-刷题学习JavaScript】day4-字符串

    一 344 反转字符串 二 541 反转字符串II 三 剑指Offer 05 替换空格 四 151 翻转字符串里的单词 五 剑指Offer58 II 左旋转字符串 六 28 实现 strStr 七 459 重复的子字符串 八 字符串总结 九
  • Python安装数据库SqlServer\MySql访问组件

    首先要说明是基于Python3 6 3的 安装方法有所不同 以前网上说的一些方法试了基本没用 踩过了坑 现在列一下我的成功安装方法给坑友们 系统环境 win10企业版64位 开发环境 vs2015 Python版本 3 6 3 64位 一
  • redis执行日志_Redis之坑:Redis与MySQL中事务的区别

    MySQL BEGIN 显式地开启一个事务 COMMIT 提交事务 将对数据库进行的所有修改变成为永久性的 ROLLBACK 结束用户的事务 并撤销正在进行的所有未提交的修改 Redis MULTI 标记事务的开始 EXEC 执行事务的co
  • 单词统计(C语言)

    简述 输入一串英文字符串 统计出现的单词数目 流程图 原理简述 定义一个字符串数组char a 100 用于接收输入的字符串 输入字符串本处运用的gets 函数 作用是从终端输入一串字符到定义的字符数组中 函数返回值是数组地址 为方便表示
  • QT QTreeWidget 控件 学习笔记

    首先我们了解一下 QTreeWidget的属性 1 QTreeWidget 控件的创建 QTreeWidget tw 单独的树 QTreeWidget tw w 在w界面里的树 2 往tw中添加子节点 创建一个新结点 设置结点中包含的数据
  • Ubuntu:安装deb文件包

    sudo dpkg i deb 如果报依赖错误执行下面语句再试 sudo apt get f fix missing install
  • query和params传参的区别

    一 query和params传参的区别 1 query传递显示参数 params传递不显示参数 params相对于query来说较安全一点 取值方法也有不同 1 query取值 this r o u t e
  • ubuntu启动时黑屏,无法进入登录界面

    方式1 1 重新启动客户机 2 点击屏幕立即长按左shift键或ESC 3 出现grub菜单后选择第二个 4 又出现一个列表继续选择第二个 5 下一个页面选择第一个 6 下一个界面点击OK就可以了 但不能保证下次开机时能不能进入 方式2 在
  • django梳理

    概述 1 框架推导流程 web框架 Yietong309的博客 CSDN博客 前期准备知识 2 django请求生命周期流程图 客户端发送HTTP发送request请求 经过网关发送到中间件 在经过路由层 视图层 模型层 模板层 这两个都与
  • 鸿蒙-实践课程一 android、ios、HarmonyOS

    目前ide对于js调试还是如其它android ios一样 存在较多缺陷 config json配置导致中间调试的断层 建议初学者如果是java或者语言类转入 可以先用java语言进行学习 首先 你需要理清楚 Ability AceAbil
  • pygraphviz安装教程

    0x01 背景 最近在做casual inference 做实验时候想因果图可视化 遂需要安装pygraphviz 整了一下午 终于捣鼓好了 真头大 环境 win10操作系统 python3 9环境 在这里 如果有conda环境 直接可以使
  • 代码级测试

    代码级测试的测试方法一定是一套测试方法的集合 而不是一个测试方法 因为单靠一种测试方法不可能发现所有潜在的错误 一定是一种方法解决一部分或者一类问题 然后综合运用多种方法解决全部问题 常见代码错误类型 第一 语法特征错误 语法特征错误是指
  • 编写高质量代码:改善Java程序的151个建议(第8章:异常___建议110~117)

    不管人类的思维有多么缜密 也存在 智者千虑必有一失 的缺憾 无论计算机技术怎么发展 也不可能穷尽所有的场景 这个世界是不完美的 是有缺陷的 完美的世界只存在于理想中 对于软件帝国的缔造者来说 程序也是不完美的 异常情况会随时出现 我们需要它

随机推荐

  • 系统调用(int 0x80)详解

    1 系统调用初始化 在系统启动时 会在sched init void 函数中调用set system gate 0x80 system call 设置中断向量号0x80的中断描述符 define set system gate n addr
  • Python基础知识题库(带答案)

    单项选择题 第一章python语法基础 1 Python 3 x 版本的保留字总数是C A 27 B 29 C 33 D 16 2 以下选项中 不是 Python 语言保留字的是C A while B pass C do D except
  • python爬取网页的方法总结,python3.9爬取网页教程

    大家好 小编为大家解答python 爬取网页内容并保存到数据库的问题 很多人还不知道利用python爬取简单网页数据步骤 现在让我们一起来看看吧 需求分析 今天遇到一个简单的需求 需要下载澳大利亚电力市场NEM日前市场的发电商报价数据 ne
  • LeetCode题目笔记——965. 单值二叉树

    文章目录 题目描述 题目链接 题目难度 简单 方法一 遍历 哈希表 代码 Python 方法二 深度优先 代码 Python 总结 题目描述 如果二叉树每个节点都具有相同的值 那么该二叉树就是单值二叉树 只有给定的树是单值二叉树时 才返回
  • Field 'id' doesn't have a default value问题解决方法

    Field id doesn t have a default value问题解决方法 突然想温习温习对数据库的读写 于是就用mysql建了一张单独的表 见代码1 用Hibernate写了个应用 可以正常查询 修改数据了 开始时 数据是在m
  • IDEA——Java:程序包xxxx不存在终极方案总结

    最近在接手一个新的java项目 导入到IDEA后发现存在报错 程序包找不到 寻思应该是某些依赖没有加载进来 但几番尝试后发现问题依旧 于是决定调研下对应的解决方案 说实话类似这种问题的解决方案网上一搜一大堆 但试了很多根本不管用 其实大多数
  • Vue项目,通过数组下标更改数组的值不生效,页面没有重新渲染

    大家好 我是小梅 公众号 小梅的前端之路 原创作者 作为在前端领域不断探索的一员 在此记录开发中遇到的问题 如果你也遇到了相同的问题 希望本文对你有帮助 问题背景 今天在开发中遇到了一个需要 在列表里要通过按钮的点击控制手机号码列是显示正常
  • vue实现连接Mysql数据库和服务器通信

    在vue中 我们不仅是为了做前端页面展示和数据响应式 最重要的还是去访问后端请求 把数据给数据库存储 这样刷新页面数据才不会丢失 vue中对于数据的发送以及存储也很重要 稍不注意也会存在很大的问题 所以我们要学习一下存储数据以及对数据的请求
  • IDEA运行jar包不存在问题

    写在前面 本博客中解决方法适用情景为依赖包导入无错的情况下 即IDEA原因 解决方案 点击File gt Invaildate Cache Restart重启IDEA 2 若1无效 cmd路径切换到项目下执行mvn idea idea 再打
  • java 运行报错has been compiled by a more recent version of the Java Runtime (class file version 54.0)

    报错信息 Exception in thread main java lang UnsupportedClassVersionError pers cyz BookManage has been compiled by a more rec
  • p值小于0.05拒绝还是接受_25常见种误区:P值、置信区间和统计功效

    连享会主页 lianxh cn 连享会 小直播 Stata 数据清洗 第二季 连享会 计量专题 因果推断 内生性 专题 2020 11 12 15 主讲 王存同 中央财经大学 司继春 上海对外经贸大学 课程主页 https gitee co
  • Shell笔记--使用系统函数、自定义函数和Shell工具

    目录 1 basename和dirname系统函数 2 自定义函数 3 Shell常用工具 3 1 cut 3 2 sort 1 basename和dirname系统函数 basename 基本用法 basename string path
  • LiveData的使用及详解

    1 LiveData简单使用 本篇文章代码实现部分主要使用Java进行讲解 LiveData主要方便用于数据的观察 进行UI更新或者业务处理等操作 如下为LiveData的简单代码实现 创建一个MutableLiveData对象 这个使用L
  • ModuleNotFoundError: No module named ‘pygame’——Python3.6安装pip并下载pygame模块

    问题 今天学习python的时候 运行时报错 ModuleNotFoundError No module named pygame 意思就是没有 pygame 这个模块 解决办法 下载一下这个模块就行了 pip3 install pygam
  • 给你一个电商网站,你如何测试?

    当下软件测试主流方向是Web端和移动端应用 但无论是哪个端 多数都可以基于软件测试的六个方向来测试 即功能 性能 易用性 可靠性 兼容性 有效性这几个方面考虑 如果给你一个电商网站 你该如何测试 以下是测试重点 文末有福利 一 功能测试 链
  • 光学基础知识:焦点、弥散圆、景深、焦深

    1 焦点 focus 与光轴平行的光线射入凸透镜时 理想的镜头应该是所有的光线聚集在一点后 再以锥状的扩散开 来 这个聚集所有光线的一点 就叫做焦点 2 弥散圆 circle of confusion 在焦点前后 光线开始聚集和扩散 点的影
  • 原生js 传数组作为参数 之get /post

    1 get 方式 var getData questionIDs qustionArr var questionArr questionArr push 12345678 定义一个函数 关键就在这里 原生的请求传数组是行不通的 需要将数据做
  • Excalidraw本地化部署

    Excalidraw本地化部署 官方地址 https excalidraw com 为什么要本地话部署呢 因为官方不支持中文手写体 Excalidraw介绍 Excalidraw是一个开源 小巧易用的手写风格的在线绘图工具 本地部署 在te
  • mysql死锁分析工具show engine innodb status

    参考文章 记录一次MySQL死锁的分析与解决过程 mysql之show engine innodb status解读 把MySQL中的各种锁及其原理都画出来 写在开头 本文为学习后的总结 可能有不到位的地方 错误的地方 欢迎各位指正 前言
  • 单片机c语言如何表示二进制,单片机C语言中将二进制数转化为十进制的办法

    单片机C语言中将二进制数转化为十进制的办法 1 最简单最直观的方法 将2进制方式表示的数转化为10进制表示的数 要用除10取余法 步骤如下 被除数记为x 10进制表示的结果用数组a表示 1 i 0 2 a i x 10 x x 10 i 3