程序员面试金典: 二进制插入、二进制小数
2017-07-19 21:17
155 查看
1.二进制插入
题目描述有两个32位整数n和m,请编写算法将m的二进制数位插入到n的二进制的第j到第i位,其中二进制的位数从低位数到高位且以0开始。
给定两个数int n和int m,同时给定int j和int i,意义如题所述,请返回操作后的数,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1。
测试样例:
1024,19,2,6
返回:1100
import java.util.*; public class BinInsert { public int binInsert(int n, int m, int j, int i) { return (n|(m<<j)); } }
2.二进制小数
题目描述有一个介于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) { StringBuffer sr=new StringBuffer(); sr.append(0); sr.append("."); while(num!=0){ num=(num*2); int b=(int)num; sr.append(b); num=num-b; } if(sr.length()>32) return "Error"; else return sr.toString(); } }
相关文章推荐
- 程序员面试金典--面试25之将m的二进制数位插入到n的二进制的第j到第i位
- 程序员面试金典——二进制小数_(位运算)
- c# 将图片的二进制数据插入到数据库中
- 二进制小数
- 整型和字符型相互转化及小数如何转化为二进制
- 十进制小数转二进制
- 十进制小数分数与二进制的转换
- 将项目发布到云主机,插入记录时显示错误:将截断字符串或二进制数据。
- 内存中的二进制解析为小数
- hihoCoder 二进制小数 BigDecimal类
- 插入和显示数据库中的图片(处理二进制数据)
- 编写程序把一个保存有二进制小数的字符数组转换为浮点数
- 二进制插入
- 小数的二进制表示,阶码
- 二进制插入
- 十进制小数转化为二进制小数
- 十进制小数转二进制小数方法
- 十进制小数转二进制
- 中秋娱乐一下,来个小数转化为二进制的代码