2019独角兽企业重金招聘Python工程师标准>>>

/**

* 功能:给定一个介于0和1之间的实数,类型为double,打印它的二进制表示。如果该数字无法精准地用32位以内的二进制表示,则打印“ERROR”。

*/

两种方法:

方法一:

[java] view plain copy

  1. //将数字乘以2以后,与1比较。
  2. public static String printBinary(double num){
  3. if(num>=1||num<=0)
  4. return "ERROR";
  5. StringBuilder binary=new StringBuilder();
  6. binary.append(".");
  7. while(num>0){
  8. if(binary.length()>=32)
  9. return "ERROR";
  10. double r=num*2;
  11. if(r>=1){
  12. binary.append("1");
  13. num=r-1;
  14. }else{
  15. binary.append("0");
  16. num=r;
  17. }
  18. }
  19. return binary.toString();
  20. }

方法二:更容易理解 [java] view plain copy

  1. //将数字与0.5比较
  2. public static String printBinary2(double num){
  3. if(num>=1||num<=0)
  4. return "ERROR";
  5. StringBuilder binary=new StringBuilder();
  6. double frac=0.5;
  7. binary.append(".");
  8. while(num>0){
  9. if(binary.length()>32){
  10. return "ERROR";
  11. }
  12. if(num>=frac){
  13. binary.append("1");
  14. num-=frac;
  15. }else{
  16. binary.append("0");
  17. }
  18. frac/=2;
  19. }
  20. return binary.toString();
  21. }

转载于:https://my.oschina.net/u/2822116/blog/790374

给定一个介于0和1之间的实数,类型为double,打印它的二进制表示相关推荐

  1. 请给出一个算法,使之对于给定的介于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[], ...

  2. 给定一个由0和1组成的矩阵,找出每个元素到最近的0的距离

    给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. (Leetcode 542) 两个相邻元素间的距离为 1 . 示例 1: 输入: 0 0 0 0 1 0 0 0 0 输出 0 ...

  3. 梁勇 java教材 编程练习题 第二章 2.6 键盘 读取一个在0 到 9999 之间的整数,并将该整数的各位数字相加。...

    import java.util.Scanner; /*** 需求:从键盘输入任意0~9999之间的整数,输出这个整数各位数字之和.* 思路:方法一,使用扫描器Scanner类,扫描控制台输入流* 将 ...

  4. ORA-01850: 小时值必须介于 0 和 23 之间

    select to_char(to_date(tran_time,'hh24miss'), 'hh24:mi:ss')  from table_name; tran_time标准格式为6位: 0924 ...

  5. 算法——0~1之间浮点实数的二进制表示

    问题描述 0~1之间浮点实数的二进制表示 1.给定一个介于0和1之间的实数,(如0.625),类型为double 打印它的二级制表示(0.101), 因为小数点后的二进制分别表示0.5,0.25,0. ...

  6. ios取两个数之间的随机小数_关于ios:生成0到1之间的随机浮点数

    我试图生成一个介于0和1之间的随机数.我一直在阅读有关arc4random()的信息,但是没有关于从中获取浮点数的任何信息. 我该怎么做呢? 不是重复项,这似乎是与浮点数明确相关的唯一问题. [0,1 ...

  7. 【小米面试题】-给定一个具体时间,计算时针与分针之间的角度

    给定一个具体时间,计算时针与分针之间的角度 在下面解法中,h表示小时,m表示分钟.同时,假定h的范围是0~23. 我们得到以下规则: 1)分针的角度(从12点整开始算起):360*(m/60) 2)时 ...

  8. ORA-01841: (完整) 年份值必须介于 -4713 和 +9999 之间, 且不为 0情况解决

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 报错:ORA-01841: (完整) 年份值必须介于 -4713 和 +9999 之间, 且不 ...

  9. 基础练习 时间转换(给定一个以秒为单位的时间t,要求用“<H>:<M>:<S>”的格式来表示这个时间。<H>表示时间,<M>表示分钟,而<S>表示秒,它们都是整数且没有前导的“0”。例如,若t=0,)

    问题描述 给定一个以秒为单位的时间t,要求用" H : M :S"的格式来表示这个时间.表示时间,M表示分钟,而S表示秒,它们都是整数且没有前导的"0".例如, ...

最新文章

  1. [31期] 第一个项目结束之际--俺很高调但很真诚地感谢一个人--涛爷
  2. 网站推广——网站推广专员建设网站是选择新域名还是老域名?
  3. linux下qq客户端
  4. jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
  5. 分布式系统一致性测试框架Jepsen在女娲的实践应用
  6. C++对象数组与对象指针
  7. 如何给mac地址赋值_交换机工作基础——MAC地址表的构成与安全
  8. 计算机多媒体发展2018,2018秋季学期计算机多媒体项目圆满结课
  9. 开课吧:人工智能是后互联时代的发展路径和方向
  10. netcore之托管程序
  11. 安卓App启动流程详解
  12. 操作系统和编程语言简单描述
  13. ecs 导出mysql文件_mysql导出数据库文件
  14. 浙大图灵班今年首次招生:院士授课,本科生配学业导师
  15. 【常用命令】一键屏幕截屏操作
  16. mysql 本周函数_MySQL week()函数
  17. 三层魔方拼接Get技巧
  18. python人工智能项目实战-Python人工智能项目实战
  19. QT调用STK12(STKX模块)
  20. 二维码读取之ecc200_small_modules_robustness.hdev

热门文章

  1. 让jquery中的load不缓存方法
  2. DateTime时间格式转换为Unix时间戳格式
  3. 关于壳的构架的一些感悟
  4. Matlab怎么计算信号的能量,用Matlab求离散讯号的能量与功率怎么编程
  5. drcom linux怎么运行,drcom for linux
  6. c语言将数组中奇数放在另一个数组,把数组中所有的奇数放在另一个数组中返回...
  7. 微软网站打不开_强烈建议收藏,微软出了自家「协作白板」应用
  8. Java扫描注解下的包_使用Spring mvc 利用java的反射技术,来扫描对应包下的注解请求url 统一保存在数据库中...
  9. 复旦大学类脑智能研究院发展电刺激伪迹实时处理新方法,为智能闭环神经调控提供关键技术...
  10. 脑电分析系列[MNE-Python-10]| 信号空间投影SSP数学原理