文档章节

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

一贱书生
 一贱书生
发布于 2016/11/18 15:10
字数 211
阅读 15
收藏 0

/**

 * 功能:给定一个介于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.               
  13.             if(num>=frac){  
  14.                 binary.append("1");  
  15.                 num-=frac;  
  16.             }else{  
  17.                 binary.append("0");  
  18.             }  
  19.             frac/=2;  
  20.         }  
  21.         return binary.toString();  
  22.     } 

© 著作权归作者所有

共有 人打赏支持
一贱书生
粉丝 19
博文 724
码字总数 600123
作品 0
C Primer Plus 第3章 数据和C

3.1示例程序 程序清单3.1 rhodium.c程序 ------ 3.2 变量与常量数据 有些数据可以在程序使用之前预先设定并在整个运行过程中没有变化,这称为常量; 另外的数据在程序运行过程中可能变化或被...

idreamo
2016/05/10
12
0
三日php之路 -- 第一天(php语言参考)

一、基本语法 (1)PHP标记 <?php echo "Hello World!"; // 当文件为纯PHP时,最好在末尾删除PHP结束标记//?> (2)从HTML中分离 // 在一对开始和结束之外的内容,都会被PHP解释器忽略。也就...

明天以后
2014/09/28
0
0
SQL 用于各种数据库的数据类型

oracle常用数据类型说明 类型 含义 存储描述 备注 CHAR 固定长度字符串 最大长度2000bytes   VARCHAR2 可变长度的字符串, 最大长度4000bytes 可做索引的最大长度749 NCHAR 根据字符集而定的...

颖辉小居
2016/10/31
14
0
浮点数加法引发的问题:浮点数的二进制表示

1、问题: 之前有同学问过这样一个问题: echo|awk '{print 3.99 -1.19 -2.80}'4.44089e-16 类似的问题还有在 java 或者 javascript 中: 23.53 + 5.88 + 17.64 = 47.05 23.53 + 17.64 + 5.8...

大数据之路
2013/08/26
0
0
oracle数据类型--数值类型

NUMBE:Oracle NUMBER类型能以极大的精度存储数值,具体来讲,精度可达38位。其底层数据格式类似一种“封包小数“表示。Oracle NUMBER类型是一种变长格式,长度为0~22字节。它可以存储小到1...

Annabelle319
08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

arts-week10

Algorithm 905. Sort Array By Parity - LeetCode Review Who’s Afraid of the Big Bad Preloader? 一文读懂前端缓存 一个网络请求3个步骤:请求,处理,响应,而前端缓存主要在请求处响应这两步...

yysue
今天
4
0
00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
5
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
162
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部