面试题 05.02. 二进制数转字符串
二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。
示例1:
输入:0.625 输出:"0.101"
示例2:
输入:0.1 输出:"ERROR" 提示:0.1无法被二进制准确表示
提示:
- 32位包括输出中的
"0."
这两位。 - 题目保证输入用例的小数位数最多只有
6
位
思路:本题目简单地二进制转换问题
十进制的小数转换为二进制的方法为 十进制小数乘2,取出整数作为二进制小数第一位,余下的小数再乘以2,取出整数作为小数第二位,如此反复,直至余下的小数为0。
例:
十进制 0.375
0.375 * 2 = 0.75 ———— 0 (0.75的整数部分为0)
0.75 * 2 = 1.5 ———— 1(1.5的整数部分为1)
0.5 * 2 = 1 ———— 1(1的整数部分为1,且没有余数)
则二进制小数位 0.011
十进制 0.675
0.625 * 2 = 1.25 ———— 1(1.25的整数部分为1)
0.25 * 2 = 0.5 ———— 0(0.5的整数部分为0)
0.5 * 2 = 1 ———— 1(1的整数部分为1,且没有余数)
则二进制小数位 0.101
十进制 0.38
0.38 * 2 = 0.76 ———— 0(0.76的整数部分为0)
0.76* 2 = 1.52 ———— 1(1.52的整数部分为1)
0.52* 2 = 1.04 ———— 1(1.04的整数部分为1)
0.04*2 = 0.08 ———— 0 (0.08的整数部分为0)
.......
则二进制小数位 0.0110........
class Solution {
public:string printBin(double num) {string str ="0.";int sum = 0;while(sum<32&&num){num*=2;sum++;if(num>=1){str.push_back('1');num-=1;} else str.push_back('0');}return sum>=32?"ERROR":str;}
};
相关文章:

面试题 05.02. 二进制数转字符串
二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。 示例1: 输入:0.625输出:"0…...

MySQL数据更新操作
文章目录前言添加数据插入数据删除数据修改数据前言 提示:这里可以添加本文要记录的大概内容: 数据更新有两种办法: 1:使用数据可视化工具操作 2:SQL语句 添加数据 前面的添加数据命令一次只能插入一条记录。如果想…...

C# 封装
修正bug之前总是要考虑是什么导致了这个bug,并花些时间了解发生了什么。增加打印输出行的语句可能是一个很有效的调试工具。增加语句来打印诊断信息时,要使用Debug.WriteLine。构造器是CLR第一次创建一个新对象实例时调用的方法。字符串插值会让字符串拼…...

每日学术速递3.2
CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Interactive Segmentation as Gaussian Process Classification(CVPR 2023) 标题:作为高斯过程分类的交互式分割 作者:Minghao Zhou, Hong Wang, Qian Zha…...

PCBA方案设计——LCD体重电子秤方案
体重秤,一种测量体重的电子秤,与最近很火的体脂秤来比来说,他是的功能能就有点单一了,只能测量体重,而体脂秤可以精准抓取测量体脂体重等一系列的数据,功能更为多样,但相比之下体重秤的功能简单…...

动态规划--背包问题
动态规划背包问题算法思路代码实现背包问题 假设你要去野营。你有一个容量为6磅的背包,需要决定该携带下面的哪些东西。其中每样东西都有相应的价值,价值越大意味着越重要: 水(重3磅,价值10) 书&…...

从0开始学python -45
Python3 正则表达式 -3 正则表达式对象 re.RegexObject re.compile() 返回 RegexObject 对象。 re.MatchObject group() 返回被 RE 匹配的字符串。 start() 返回匹配开始的位置end() 返回匹配结束的位置span() 返回一个元组包含匹配 (开始,结束) 的位置 正则表达式修饰符…...

如何用BurpSuite抓取手机数据包
文章目录前言准备工具Burp Suite物理机或虚拟机(移动设备)手机抓包网络环境开启burp并设置代理手机配置代理安装Burp证书开始抓包踩坑后记前言 最近挖了一波src,挖来挖去发现有很多公众号或者app没有测试,这就需要Burp能够抓取手机的数据包了࿰…...

Linux性能监控工具iostat解析
1.iostat命令详解 CPU 内存 磁盘 网络 四大子系统 1.1 查看提供iostat命令的软件包 yum provides "*/iostat" yum -y install systatiostat 1 显示实时的数据 iostat 结果自系统启动以来的平均值1.2 iostat命令CPU指标 %user 应用程序消耗CPU资源占比 %nice 进…...

3D可视化大屏制作真的那么难?没有好用的软件解决吗?
有多少人印象里的数据可视化大屏还是像这样的二维大屏?这种二维可视化大屏早就不能满足审美日益提高的大众了。 现在用的都是3D可视化大屏,这种结合了3D技术的可视化形式不仅让数据更加的清晰,也增加了美感,这观看体验ÿ…...

C语言|文件读写,代码运行后留下“记忆”
前言对于一个代码,运行时可能需要保留产生的结果,例如计算值,筛选值,记录点或者小游戏的得分,而正常情况下我们要保存一个数据,想到的肯定是打开我们的文本软件,手撸文字,今天这篇文…...

【2023unity游戏制作-mango的冒险】-6.关卡设计
👨💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏:unity游戏制作 ⭐mango的冒险关卡设计⭐ 文章目录⭐mango的冒险关卡设计⭐👨&#…...

JavaScript高级 浏览器WebStorage
WebStorage主要提供了一种机制,可以让浏览器提供一种比cookie更直观的key、value存储方式: localStorage:本地存储,提供的是一种永久性的存储方法,在关闭掉网页重新打开时,存储的内容依然保留; …...

$ 3 :类型强制转换场景、printf函数
1、类型强制转换场景 #include <stdio.h> //强制类型转换 int main() {int i=5;float j=i/2;float k=(float)i/2;printf("%f\n",j);printf("%fln",k);return 0;} j得到的值为2,k得到的值是2.5,因为当我们整数做除法时,默认进行整除,要得到小数,…...

视频会议系统异常中断故障分析案例
1. 背景 某电气化局的用户反馈,近期视频系统在使用过程中出现频繁中断的情况,这种情况影响到用户的视频体验和工作效率。 针对此问题,我们将NetInside流量分析系统部署到电气化局机房,使用流量分析系统提供实时和历史原始流量。…...

什么是文件传输中台?
企业文件传输的场景有哪些? 企业日常办公中无时无刻不在产生数据文件。多样化的数据已成为企业的重要资产,更被称为是“新石油”。数据并不是单单存储起来就行了,而是需要高效又安全的让数据流转起来,释放其自身的价值࿰…...

设计模式-代理模式(Java)
本篇文章详细说明代理模式并用代码简单介绍代理模式的用法,以及代理模式在实际应用中的源码简单解析。 1、什么是代理模式和代码实现 代理模式是一种设计模式,它允许在不改变原有类的情况下,为其提供一种代理机制,用于控制其访问…...

如何处理负面评论?利用负面评论发挥优势
每家公司都应该做的一件事:回复评论! 37%的买家积极考虑对评论的回应,以评估和对品牌的看法。所以不要忘记回复评论! 如何处理负面评论 如果您的公司正在经历大量负面评论,请了解您的产品团队如何利用它们来发挥自己的…...

一个JAVA程序员必备的技能有哪些?知道这些帮你快速升职加薪
和其他行业一样,软件研发行业也有必须要掌握的工具,每个程序员只有学习了这些工具之后才会不断成长,今天就和大家分享一些程序员必备的十项技能。老实说,如果每个程序员都非常了解这些工具,那么他可以在日常工作中完成…...

DHTMLX Suite 8.0 重大发布,新增更多新主题、热图图表、辅助功能支持功能
DHTMLX Suite 是一个用于构建跨浏览器Web应用和移动应用的强大JavaScript UI库。DHTMLX UI 组件库允许您更快地构建跨平台、跨浏览器 Web 和移动应用程序。它包括一组丰富的即用式 HTML5 组件,这些组件可以轻松组合到单个应用程序界面中。 DHTMLX Spreadsheet正版试…...

[华为OD机试 ] Linux发行版的数量(C++ Java JS Python)
文章目录 题目描述输入描述输出描述备注用例题目解析C++JavaScriptJavaPython题目描述 Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发行版互相存在关联,例如Ubuntu基于Debian开发,而Mint又基于Ubuntu开发,那么我们认为Mint同Debian也存在关联…...

HydroD 实用教程(五)Morsion Model
目 录一、前言二、Morison 方程三、Morison 单元与属性3.1 Anchor Elements3.2 Pressure Area Elements3.3 TLP Elements3.4 Morison 3D Elements3.5 Morison (2D) Sections四、Element Correspondence五、参考文献一、前言 SESAM (Super Element Structure Analysi…...

成功解决xshell7会话窗口只能显示一个的问题
文章目录前言一. 问题复现二. 问题解决方法一方法二三. 拓展3.1 自定义快捷键3.2 将当前shell中的代码内容复制到记事本中3.3 xshell配置密钥登录3.3.1 生成密钥3.3.2 将密钥上传到服务器并设置3.3.3 用xshell密钥登录服务器总结前言 重点强调: 本文是解决xshell的…...

Spring security 个人理解
改文章写的很好:https://zhuanlan.zhihu.com/p/342755411 Spring security 分为两个部分 登陆认证权限认证 登陆认证 其实就是就是登陆注册,然后获取登陆凭证的问题 操作如下 登陆账号密码,通过账号查询出用户数据,然后密码进…...

线性表 顺序表数组
初识线性表 文章目录初识线性表线性表的类型定义基本操作(一)init,destory,clear基本操作(二) 判空 ,求长基本操作(三)取值,取位置基本操作(四&am…...

从WebRtc学习RTP协议
1、TCP为何不适用于实时音视频可靠性是以牺牲实时性为代价的。按照TCP原理,当出现极端网络情况时,理论上每个包的时延可达到秒级以上,而且这种时延是不断叠加的。这对于音视频实时通信来说是不可接受的。TCP为了实现数据传输的可靠性…...

centos7 配置samba
samba概述: Windows与Linux之间通信的桥梁,Samba是一个非常强大的文件服务器。Samba端口:udp 137 udp138,tcp139 tcp445。Samba工作模式:C/S模式(客户端-服务器) samba应用环境 1、文件共享&…...

前端转golang从小白到实战自学笔记(2023/3/1)
了解:https://www.runoob.com/go/go-concurrent.htmlgolang学习方向区块链研发工程师go服务器>(特点:数据处理,处理大并发)/游戏软件工程师golang分布式/云计算软件工程师(盛大云、cdn、京东)…...

10个必须知道的JavaScript技巧,让你成为更好的程序员
1.Promise回调地狱Promises 提供了一种优雅的方式来处理 JavaScript 中的异步操作。这也是避免“回调地狱”的解决方案之一。但是我并没有真正理解它的意思,所以我写了这段代码。我做了这些事情:先获取用户的基本信息。按用户信息获取所有文章的简要摘要…...

蓝桥杯真题(JAVA)--分巧克力
题目描述儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有 NN 块巧克力,其中第 i块是HiWi 的方格组成的长方形。为了公平起见,小明需要从这 NN 块巧克力中切出 K 块巧克力分给小朋友们。切出的巧克力需要满足&…...