二进制小数
2016-04-18 18:45
218 查看
题目描述
有一个介于0和1之间的实数,类型为double,返回它的二进制表示。如果该数字无法精确地用32位以内的二进制表示,返回“Error”。给定一个double num,表示0到1的实数,请返回一个string,代表该数的二进制表示或者“Error”。
测试样例:
0.625
返回:0.101
import java.util.*; public class BinDecimal { public String printBin(double num) { // write code here if(num<=0||num>=1) return "Error"; StringBuffer res = new StringBuffer("0."); int cnt = 0; while(cnt<=32&&num>0){ num = num*2; if(num>=1){ res.append('1'); num-=1; }else{ res.append('0'); } ++cnt; } if(res.length()>32){ return "Error"; }else{ return res.toString(); } } }
相关文章推荐
- Oracle笔记(十一) 建表、更新、查询综合练习
- python 编码类型
- Oracle to_date/Trunc函数用法及date字段只精确到日期的问题
- Log4j和Slf4j的关系
- Mybatis最入门---Mapper文件配置详解(上)
- 容斥定理 njust1923 triple
- AFHTTPSessionManager 上传文件
- android微博sdk实现登录分享获取用户名头像
- I.MX6 Ubuntu core porting
- #1032 : 最长回文子串
- nrf51822 --TWI(硬件IIC)
- android 滑动事件冲突解决 Touch事件处理机制
- Oracle笔记(十) 约束
- hdu 1075 map的使用 字符串截取的常用手段 以及string getline 使用起来的注意事项
- [ASP.NET]更简单的方法:FormsAuthentication登录ReturnUrl使用绝对路径
- 团队作业二
- 定时管理器框架-Task.MainForm
- Win7 telnet VMware Linux
- 第六周总结
- linux导出>>文件到Window txt乱码