• 提取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. leetcode1027

    最直接的思路是三层循环,但是会超时,代码如下: public class Solution { public int LongestArithSeqLength2(int[] A) { ; var l ...

  2. mysql创建表和数据库

    创建数据库,创建数据库表,例子.MySQL语句   1.创建数据库:    创建的代码:create  数据库的代码:database   数据库表名:随便起,只要自己记住就行.test create ...

  3. 关于http以及aphace配置https

    我是通过腾讯云配置的ssl.   网站:www.xian029.cn 免费申请,然后通过phpstudy  来配置的. 密码学:   研究密码编码与解码的学科,可以分为编码学和破译学.   HTTPS ...

  4. 深度学习中,使用regularization正则化(weight_decay)的好处,loss=nan

    刚开始训练一个模型,自己就直接用了,而且感觉训练的数据量也挺大的,因此就没有使用正则化, 可能用的少的原因,我也就不用了,后面,训练到一定程度,accuracy不上升,loss不下降,老是出现loss ...

  5. day36 GIL锁与线程池

    多进程与多线程效率对比 # # """ # # 计算密集型 # """ # from threading import Thread # f ...

  6. windows 活动目录双向信任配置

    活动目录A:ess.com 192.168.1.20/24 活动目录B:ups.com  192.168.1.30/24 Step1:在活动目录B的域控制器上配置域的林双向信任关系,并且可传递,如下图 ...

  7. 106. Construct Binary Tree from Inorder and Postorder Traversal根据后中序数组恢复出原来的树

    [抄题]: Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assum ...

  8. [leetcode]40. Combination Sum II组合之和之二

    Given a collection of candidate numbers (candidates) and a target number (target), find all unique c ...

  9. 初始Spring mvc

    转自:http://elf8848.iteye.com/blog/875830很棒的一篇博客,想了解SpringMvc的入门选手可以去看看. 一,核心类与接口: DispatcherServlet - ...

  10. Python下安装MySQLdb模块

    ----------------------[针对Windows下python 的MySQLdb模块安装]--------------------- 一.检查MySQLdb模块是否安装,可在DOS命令 ...