给定一个介于0和1之间的实数,类型为double,打印它的二进制表示
2019独角兽企业重金招聘Python工程师标准>>>
/**
* 功能:给定一个介于0和1之间的实数,类型为double,打印它的二进制表示。如果该数字无法精准地用32位以内的二进制表示,则打印“ERROR”。
*/
两种方法:
方法一:
[java] view plain copy
- //将数字乘以2以后,与1比较。
- public static String printBinary(double num){
- if(num>=1||num<=0)
- return "ERROR";
- StringBuilder binary=new StringBuilder();
- binary.append(".");
- while(num>0){
- if(binary.length()>=32)
- return "ERROR";
- double r=num*2;
- if(r>=1){
- binary.append("1");
- num=r-1;
- }else{
- binary.append("0");
- num=r;
- }
- }
- return binary.toString();
- }
方法二:更容易理解 [java] view plain copy
- //将数字与0.5比较
- public static String printBinary2(double num){
- if(num>=1||num<=0)
- return "ERROR";
- StringBuilder binary=new StringBuilder();
- double frac=0.5;
- binary.append(".");
- while(num>0){
- if(binary.length()>32){
- return "ERROR";
- }
- if(num>=frac){
- binary.append("1");
- num-=frac;
- }else{
- binary.append("0");
- }
- frac/=2;
- }
- return binary.toString();
- }
转载于:https://my.oschina.net/u/2822116/blog/790374
给定一个介于0和1之间的实数,类型为double,打印它的二进制表示相关推荐
- 请给出一个算法,使之对于给定的介于0到k之间的n个整数进行预处理,并能在O(1)时间内,回答出输入的整数中有多少个落在区间[a..b]内,你给出的算法上预处理时间应是O(n+k)。...
代码: #include "iostream" using namespace std;int counting_sort(int a,int b,int A[],int B[], ...
- 给定一个由0和1组成的矩阵,找出每个元素到最近的0的距离
给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. (Leetcode 542) 两个相邻元素间的距离为 1 . 示例 1: 输入: 0 0 0 0 1 0 0 0 0 输出 0 ...
- 梁勇 java教材 编程练习题 第二章 2.6 键盘 读取一个在0 到 9999 之间的整数,并将该整数的各位数字相加。...
import java.util.Scanner; /*** 需求:从键盘输入任意0~9999之间的整数,输出这个整数各位数字之和.* 思路:方法一,使用扫描器Scanner类,扫描控制台输入流* 将 ...
- ORA-01850: 小时值必须介于 0 和 23 之间
select to_char(to_date(tran_time,'hh24miss'), 'hh24:mi:ss') from table_name; tran_time标准格式为6位: 0924 ...
- 算法——0~1之间浮点实数的二进制表示
问题描述 0~1之间浮点实数的二进制表示 1.给定一个介于0和1之间的实数,(如0.625),类型为double 打印它的二级制表示(0.101), 因为小数点后的二进制分别表示0.5,0.25,0. ...
- ios取两个数之间的随机小数_关于ios:生成0到1之间的随机浮点数
我试图生成一个介于0和1之间的随机数.我一直在阅读有关arc4random()的信息,但是没有关于从中获取浮点数的任何信息. 我该怎么做呢? 不是重复项,这似乎是与浮点数明确相关的唯一问题. [0,1 ...
- 【小米面试题】-给定一个具体时间,计算时针与分针之间的角度
给定一个具体时间,计算时针与分针之间的角度 在下面解法中,h表示小时,m表示分钟.同时,假定h的范围是0~23. 我们得到以下规则: 1)分针的角度(从12点整开始算起):360*(m/60) 2)时 ...
- ORA-01841: (完整) 年份值必须介于 -4713 和 +9999 之间, 且不为 0情况解决
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 报错:ORA-01841: (完整) 年份值必须介于 -4713 和 +9999 之间, 且不 ...
- 基础练习 时间转换(给定一个以秒为单位的时间t,要求用“<H>:<M>:<S>”的格式来表示这个时间。<H>表示时间,<M>表示分钟,而<S>表示秒,它们都是整数且没有前导的“0”。例如,若t=0,)
问题描述 给定一个以秒为单位的时间t,要求用" H : M :S"的格式来表示这个时间.表示时间,M表示分钟,而S表示秒,它们都是整数且没有前导的"0".例如, ...
最新文章
- [31期] 第一个项目结束之际--俺很高调但很真诚地感谢一个人--涛爷
- 网站推广——网站推广专员建设网站是选择新域名还是老域名?
- linux下qq客户端
- jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
- 分布式系统一致性测试框架Jepsen在女娲的实践应用
- C++对象数组与对象指针
- 如何给mac地址赋值_交换机工作基础——MAC地址表的构成与安全
- 计算机多媒体发展2018,2018秋季学期计算机多媒体项目圆满结课
- 开课吧:人工智能是后互联时代的发展路径和方向
- netcore之托管程序
- 安卓App启动流程详解
- 操作系统和编程语言简单描述
- ecs 导出mysql文件_mysql导出数据库文件
- 浙大图灵班今年首次招生:院士授课,本科生配学业导师
- 【常用命令】一键屏幕截屏操作
- mysql 本周函数_MySQL week()函数
- 三层魔方拼接Get技巧
- python人工智能项目实战-Python人工智能项目实战
- QT调用STK12(STKX模块)
- 二维码读取之ecc200_small_modules_robustness.hdev
热门文章
- 让jquery中的load不缓存方法
- DateTime时间格式转换为Unix时间戳格式
- 关于壳的构架的一些感悟
- Matlab怎么计算信号的能量,用Matlab求离散讯号的能量与功率怎么编程
- drcom linux怎么运行,drcom for linux
- c语言将数组中奇数放在另一个数组,把数组中所有的奇数放在另一个数组中返回...
- 微软网站打不开_强烈建议收藏,微软出了自家「协作白板」应用
- Java扫描注解下的包_使用Spring mvc 利用java的反射技术,来扫描对应包下的注解请求url 统一保存在数据库中...
- 复旦大学类脑智能研究院发展电刺激伪迹实时处理新方法,为智能闭环神经调控提供关键技术...
- 脑电分析系列[MNE-Python-10]| 信号空间投影SSP数学原理