面试题 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;
    }
};

二进制与字符串之间的转换类CBinary CBinary类,处理二进制与字符串之间的转换 立即下载

相关推荐

使用vcpkg快速安装opencascade并自动配置部署开发环境

广泛的开源库:vcpkg 提供了上千个流行的 C++ 开源库,用户可以通过简单的命令安装和集成这些库,包括 Boost、OpenCV、SQLite、fmt 等。确保包版本一致性:通过 vcpkg.json 文件,开发者可以指定依赖的库版本,确保项目在不同环境下的构建结果一致,避免由于依赖库版本不一致而导致的构建问题。强大的社区支持:Vcpkg 是开源项目,拥有活跃的社区和微软团队的支持,提供了稳定的更新和问题修复。快速更新:Vcpkg 社区活跃,库的更新速度较快,开发者可以迅速获得库的最新版本。

loujiand的博客 2293

文件流转换为string(二进制转换为字符串)

有个想法, 想将任意文件 保存为文本里的内容,就好像资源文件里保存图片那样。经过简单测试,基本完成了。如果发现有什么bug,希望能告诉我,好让我改进。private const int BufferSize = 1024 * 8;        ///         /// 将流转换成字符串    ///         /// 文件留        /// 流的字符形式        

Oo小白 1万+

【魔兽世界插件】魔兽世界插件实战笔记从入门到放弃的心理历程 第一节 lua框架的建立

魔兽世界插件实战笔记从入门到放弃的心理历程 第二节 lua框架的建立 找到魔兽世界的安装目录,找到插件的默认位置:\World of Warcraft\_retail_\Interface\AddOns,在这里建立一个文件夹,魔兽的插件都是用一个文件夹来区分的,第一课吗,就用Lesson_one吧。 下面建立的三个文件,第一个点toc文件是最重要的一个,它是魔兽客户端识别插件的一个标识符。 魔兽版本号有一个函数可以查询在WoWLua下面运行:print("当前游戏版本号:",(select(4,GetBui

qq_33075391的博客 6449

将二进制数据转换为字符串显示

在实际编程中,我们经常需要将接受的16进制数据转化为字符串的形式输出,例如:    16进制数据:  01 C1 00 48 00 00 00 00 00 00 00 00 00 00 00 00 00 43 00    转化为字符串:01C10048000000000000000000000000004300    具体实现如下: int charToString(char *src,c

u011430213的专栏 4671

海康威视SADP SDK实战:5分钟搞定局域网设备搜索(附C++代码示例)

本文详细解析了海康威视SADP SDK在局域网设备搜索中的高效应用,通过C++代码示例展示如何快速实现设备发现与信息获取。SADP协议支持全面设备信息采集和实时状态更新,适用于智能安防和物联网管理场景,帮助开发者5分钟内完成设备搜索功能集成。

rum55的博客 871

宜搭子表单(自定义页面全部展示)

效果:增加自定义页面添加表格组件,配置数据源变量: formUuid'表单编码'变量: pageSize10变量: currentPage1。

2301_80286061的博客 2275

二进制数转字符串

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

Rui__Wang的博客 3002

解答网友疑问:聊聊 SAP MRP 中追溯需求的技术实现

笔者到 SE37 里一查,果然有这个 Function Module,并且在里面设置断点之后,执行事务码 MD09 之后,设置在该 Function Module 内的断点也触发了,看来 ChatGPT 比较靠谱。因为红色区域的显示,是通过用户在 MD09 的 ALV 界面上双击触发的,因此我们直奔用户输入模块,PROCESS AFTER INPUT,在 check_fcode 的实现体内设置断点。通过这种追溯,企业可以了解需求和供应之间的关系,从而优化生产和采购计划,减少库存积压,提升供应链效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1025

二进制数据转字符

二进制数据转字符

liuyuedechuchu的博客 3441

PCL:SAC-IA+ICP配准

【代码】SAC-IA+ICP配准。

m0_71596228的博客 1018

【推荐100个unity插件】基于关节物理控制的自行车、电动车、摩托车模拟解决方案——Simple Bicycle Physics

摘要 "简易自行车物理"是Unity的自行车模拟资源包,支持Animation Rigging,实现基于关节物理的自行车控制。兼容所有平台和渲染管线,包含预制体、材质、脚本等资源。核心脚本Bicycle Controller管理自行车物理属性,支持自定义角色设置和移动端控制。安装后,用户可快速配置骑行场景,调整转向、速度、重心等参数,并支持地面贴合、兔跳等功能。适用于开发各类自行车模拟游戏和应用。 (字数:149)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1365

二进制转字符串(中英以及各种符号混合)php

最近在开发一个在线工具站,做二进制和字符串互转功能。经过一番折腾最终效果非常赞。话不多说直接上代码 字符串转二进制 /** * 字符串转换成二进制 * @author xieye * * @param {string} $word 待转换的字符-必须是单字符 * @return {string} 二进制 */ function txtTobinary($word) { $txtarr = str_split($word);.

冯伪猿 1956

前言:为什么要学习爬虫和逆向,该如何学习?

学习爬虫和逆向技术是当今数字化时代的重要技能,尤其在数据分析、安全研究、自动化工具开发等领域有广泛应用。以下是详细的学习理由、路径和方法:

数据知道的博客 1万+

LeetCode 面试题 05.02. 二进制数转字符串

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

<font color="Pink">Tisfy的博客</font> 515

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

leetcode 面试题05.02.二进制数转字符串

原题 05.02.二进制数转字符串 /* *@v7fgg *执行用时:1 ms, 在所有 Java 提交中击败了20.81%的用户 *内存消耗:36.9 MB, 在所有 Java 提交中击败了100.00%的用户 *2020年6月20日 10:16 */ class Solution { public String printBin(double num) { if(num<1&&num>0){ String ans="

zhuruihe2014的博客 363

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

力扣每日一题 面试题05.02 二进制数转字符串

本题是一个简单的模拟转二进制的题目,按照原理直接模拟即可。本题用到了python3.8中的新特性海象运算符,等价于先赋值再判断本题评论区中有大佬指出错误,希望官方重视以上,共勉。

qq_59423136的博客 267

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Leetcode.面试题 05.02 二进制数转字符串

位运算

感觉画质不如...原神的博客 426
上一篇: 【LeetCode】1247. 交换字符使得字符串相同(超级简单的算法,击败100%)
下一篇: IDEA ctrl+alt+ 快捷键无效解决
天皓Oo
博客等级 码龄5年 337粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值