• 提取2的幂

    这个方法用代码实现貌似有点麻烦,需要探测大小,我只实现了整数十进制到二进制的转化
/*
* 提取2的幂
*/
public static String TenToBin1(int ten) { int index = 0;
StringBuffer binBuffer = new StringBuffer(); //int类型是4个字节,32位,找到刚好大于输入的数的位置
for(int i = 0; i <= 32; i++) {
if((int)(Math.pow(2, i)) <= ten) {
continue;
} else {
index = i;
break;
}
}
//开始探测,若ten大于2的index次幂,就相减,对应位数为1
for(int j = index - 1; j >= 0; j--) {
if(ten - Math.pow(2, j) > 0) {
binBuffer.append("1");
ten = (int) (ten - Math.pow(2, j));
continue;
} else if(ten - Math.pow(2, j) < 0) {
binBuffer.append("0");
continue;
} else {
binBuffer.append("1");
index = j;
break;
}
} if(index != 0) {
for(int z = index - 1; z >= 0; z--) {
binBuffer.append("0");
}
} return binBuffer.toString(); }

测试

public static void main(String[] args) {
System.out.println(TenToBin1(3));
System.out.println(TenToBin1(8));
System.out.println(TenToBin1(9));
System.out.println(TenToBin1(16));
}



②基数相除,相乘,这里也只是实现了整数十进制的转化,由于double不精确,所以小数计算起来有点麻烦,有待解决

/*
* 基数连除、连乘法
*/
public static String TenToBin2(String tenString) { StringBuffer s = new StringBuffer();
StringBuffer s1 = new StringBuffer();
int index = tenString.indexOf('.');
if(index == -1) {
//取整数部分
int d = Integer.parseInt(tenString);
while(d != 0) {
s.append(d%2);
d = (int)(d/2);
}
String str = s.toString();
for(int i = str.length() - 1; i >= 0; i--) {
s1.append(str.charAt(i));
} } else {
//计算整数部分
String str1 = tenString.substring(0, index);
int integer = Integer.parseInt(str1);
while(integer != 0) {
s.append(integer%2);
integer = (int)(integer/2);
}
String str = s.toString();
for(int i = str.length() - 1; i >= 0; i--) {
s1.append(str.charAt(i));
} } return s1.toString() ; }

十进制转化为二进制Java实现的更多相关文章

  1. hdu5432Rikka with Array (数位dp+十进制转化为二进制)

    Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he ...

  2. 用JS实现将十进制转化为二进制

  3. 【模板小程序】任意长度非负十进制数转化为二进制(java实现)

    妈妈再也不用担心十进制数过大了233(注意只支持非负数) import com.google.common.base.Strings; import java.math.BigInteger; imp ...

  4. Java中实现十进制数转换为二进制的三种思路

    Java中实现十进制数转换为二进制 第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒 ...

  5. Java十进制转成二进制 八进制 十六进制

    int a = 357;//十进制转成二进制System.out.println(Integer.toBinaryString(a)); package com.swift; import java. ...

  6. Java查表法实现十进制转化成其它进制

    首先了解十进制转化成二级制的原理 156的二进制为: 156 % 2 = 78 …… 0 83 % 2 = 39 …… 0 39 % 2 = 19 …… 1 19 % 2 = 9 …… 1 9 % 2 ...

  7. Java十进制数转二进制的方法

    使用Integer.toBinaryString(num) ,可以把十进制数转换成二进制 //十进制转换成二进制 Integer.toBinaryString(num); binary 二进制 Sys ...

  8. java_十进制数转换为二进制,八进制,十六进制数的算法

    java_十进制数转换为二进制,八进制,十六进制数的算法 java Ê®½øÖÆÊýת»»Îª¶þ½øÖÆ,°Ë½øÖÆ,Ê®Áù½øÖÆÊýµÄË㕨 using System; using S ...

  9. 将十进制数据转换为二进制AND将二进制数据转换为十进制!

    一,将十进制数据转换为二进制:  //***********************************************            Console.WriteLine(&quo ...

随机推荐

  1. python_05 可变类型与不可变类型、集合、字符串格式化

    可变数据类型与不可变数据类型: 1.可变:列表,字典 2.不可变:字符串,数字,元组 访问顺序: 1.顺序访问:字符串,列表,元组 2.映射:字典 集合 由不同元素组成的集合,集合中是一组无序排列的可 ...

  2. phpexcel导入导出

    先下载类文件,将类文件放到lib下,然后到入口文件定义一个新的的路径,以便引入文件.    <?php namespace app\index\controller; use think\Con ...

  3. MySQL 物理文件体系结构的简单整理说明

    本文出处:http://www.cnblogs.com/wy123/p/7102128.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...

  4. Swagger使用

    Swagger 1.集成springboot 第一步:pom <dependency> <groupId>io.springfox</groupId> <ar ...

  5. 了解各种不同意义上的new

    问题1:请说明new operator 和 operator  new的差异? 1.new   operator : 一般我们写代码的时候,例如:String *p = new String(&quo ...

  6. git 删除本地所有分支

    除master的所有: git branch | grep -v "master" | xargs git branch -D   Git删除分支的指令:git branch -d ...

  7. Swift 从OC入门

    前言:断断续续学了蛮多天的Swift,感触还是蛮多的~~ 1.OC是以C语言为基础的语言,学习之前有C语言的基础,所以对于 `*` 这些指针还是比较容易理解的.问过其他程序员,对OC里面的 `*` 指 ...

  8. PHP pthread 多线程 案例

    <?php /** *检测http服务是否可以正常访问 *启动三个线程执行任务 */ class taskWork extends Thread { public $url = ''; //检测 ...

  9. 更改angular的默认端口

    一.现象 当本地同时运行了多个angular项目时,端口占用问题 Port 4200 is already in use. Use '--port' to specify a different po ...

  10. 微信小程序开发 - 用户授权登陆

    准备:微信开发者工具下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 微信小程序开发文档:htt ...