精华内容
下载资源
问答
  • Java 十进制转二进制

    2020-03-23 23:02:19
    Java 十进制转二进制 方法一、使用Integer自带方法toBinaryString int n = 5; String result = Integer.toBinaryString(n); 方法二、自定义函数 /** * @author yinglongwu */ //十进制转二进制,除以2,倒...

    Java 十进制转二进制


    方法一、使用Integer自带方法toBinaryString

    int n = 5;
    String result = Integer.toBinaryString(n);
    

    方法二、自定义函数

    	/**
    	 * @author yinglongwu
    	 */
    	//十进制转二进制,除以2,倒取余
    	public static String tenToTwo(int x) {
    		String s = "";
    		if (x==0) {
    			s = "0";
    		} else {
    			while (x!=0) {
    				s = s + Integer.toString(x%2); //这个转型方法不写也行,可以自动转型
    				x=x/2;
    			}
    		}
    		//把s变为StringBuffer类,使用其reverse方法反转后,再转为String类型
    		String result = new StringBuffer(s).reverse().toString();
    		return result;
    	}
    
    展开全文
  • JAVA十进制转二进制

    2021-04-07 15:24:12
    JAVA十进制转二进制代码按位与运算无符号右移方法的调用无返回值 代码 因为计算机本身就是二进制存储数据,所以只需要把所需转化的数字的每一位和1进行与运算,再对每一位进行输出即可 public static void main...

    十进制转二进制

    方法1:右移输出

    因为计算机本身就是二进制存储数据,所以只需要把所需转化的数字的每一位和1进行 与 运算,再从int类型第一位开始对每一位进行输出即可,每输出4次输出一次空格。

    public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         System.out.println("请输入要转换的正整数:");
         int n = sc.nextInt();
         System.out.print(n + " 转化为二进制的数为:");
         binaryNum(n);
     }
     public static void binaryNum(int n) {
         int i,j=0;;
         for (i = 31; i >= 0; i--){
             System.out.print((n>>>i) & 1);
             j++;
             if (j==4){
                 System.out.print(" ");
                 j=0;
                 continue;
             }
         }
     }
    

    相关知识点:
    1.按位与运算
    2.无符号右移

    3.方法的调用与接收
    4.无返回值

    5.Scanner输入
    6.for循环

    方法2:余数存数组再进行输出

    十进制转二进制时如何运算,大家都知道。我们要做的就是把运算过程交给计算机,直接得到结果,但是每次的余数都输出出来后,得到的一组数并不是我们要求的二进制数,而是我们所求二进制数的反序,这个时候需要反序来输出,我们就需要引入一个数组的方法。

     public static void main(String[] args) {
    	System.out.println("请输入一个整数");
    	Scanner sc = new Scanner(System.in);
    	int a = sc.nextInt();
    	int b, i;
    	int[] array = new int[32];
    	for (i = 0; i < array.length; i++) {
    	    b = a % 2;
    	    a = a / 2;
    	    array[i] = b;
    	}
    	System.out.print("这个数对应的二进制数为:");
    	for (i = 31; i >= 0; i--) {
    	    if ((i+1)%4 == 0){
    	        System.out.print(" ");
    	    }
    	    b=array[i];
    	    System.out.print(b);
    	}
    }
    

    相关知识点:
    1.Scanner输入
    2.for循环

    3.数组的定义及赋值

    展开全文
  • java十进制转换二进制

    2014-04-22 11:26:04
    java语言编写的十进制正数和负数转换二进制算法。
  • Java十进制转二进制

    2019-09-26 18:59:25
    闲着没事写了个简单的十进制转二进制的算法,很简单,个人记录一下,不妥之处请指正。 public static String toBinaryString(int j) { if (j < 0) { throw new NumberFormatException("不支持负数"); } ...

    闲着没事写了个简单的十进制转二进制的算法,很简单,个人记录一下,不妥之处请指正。

    public static String toBinaryString(int j) {
            if (j < 0) {
                throw new NumberFormatException("不支持负数");
            }
            double i = (double) j;
            StringBuilder sb = new StringBuilder();
            while (true) {
                if (i % 2 == 0)
                    sb.append("0");
                else
                    sb.append("1");
                int result = (int) (i / 2);
                if (result == 1) {
                    sb.append("1");
                    break;
                }
                i = (double) result;
            }
            char[] chars = sb.toString().toCharArray();
            int len = chars.length - 1;
            for (int a = 0; a <= len; a++) {
                char c = chars[a];
                char d = chars[len];
                chars[a] = d;
                chars[len] = c;
                len--;
            }
            return new String(chars);
        }

    转载于:https://www.cnblogs.com/yliucnblogs/p/11276912.html

    展开全文
  • 展开全部下面是根据十进制数62616964757a686964616fe59b9ee7ad9431333365646331转二进制数的算法所写的一段Java程序示例代码:import java.math.BigDecimal;public class Test {public static void main(String[] ...

    展开全部

    下面是根据十进制数62616964757a686964616fe59b9ee7ad9431333365646331转二进制数的算法所写的一段Java程序示例代码:

    import java.math.BigDecimal;

    public class Test {

    public static void main(String[] args) {

    Test t = new Test();

    double d = 8;

    String s = t.decimal2BinaryStr(d);

    System.out.println("十进制数"+d+"转成二进制数为:"+s);

    }

    /**

    * 十进制数转二进制数

    * @param d 十进制数

    * @return 十进制数转换成二进制的字符串

    */

    public String decimal2BinaryStr(double d){

    String result = decimal2BinaryStr_Inte(d);

    result += decimal2BinaryStr_Deci(d);

    return result;

    }

    /**

    * 十进制整数部分转二进制数

    * @param d 十进制数

    * @return 十进制整数部分转换成二进制的字符串

    */

    public String decimal2BinaryStr_Inte(double d){

    //      return Integer.toBinaryString((int)d);

    /*

    * 本来利用上面的Integer.toBinaryString(int)就可以得到整数部分的二进制结果,

    * 但为了展示十进制转二进制的算法,现选择以下程序来进行转换

    */

    String result = "";

    long inte = (long)d;

    int index = 0;

    while(true){

    result += inte%2;

    inte = inte/2;

    index++;

    if(index%4 == 0){

    result+=" ";

    }

    if(inte==0){

    while(index%4!=0){

    result+="0";

    index++;

    }

    break;

    }

    }

    char[] c = result.toCharArray();

    char[] cc = new char[c.length];

    for(int i=c.length; i>0; i--){

    cc[cc.length-i] = c[i-1];

    }

    return new String(cc);

    }

    /**

    * 十进制小数部分转二进制

    * @param d 十进制数

    * @return 十进制小数部分转换成二进制小数的字符串

    */

    public String decimal2BinaryStr_Deci(double d){

    return decimal2BinaryStr_Deci(d, 0);

    }

    /**

    * 十进制小数部分转二进制

    * @param d 十进制数

    * @param scale 小数部分精确的位数

    * @return 十进制小数部分转换成二进制小数的字符串

    */

    public String decimal2BinaryStr_Deci(double d, int scale){

    double deci = sub(d,(long)d);

    if(deci==0){

    return "";

    }

    //为了防止程序因所转换的数据转换后的结果是一个无限循环的二进制小数,因此给其一个默认的精确度

    if(scale==0){

    scale = (String.valueOf(deci).length()-2)*4;

    }

    int index = 0;

    StringBuilder inteStr = new StringBuilder();

    double tempD = 0.d;

    while(true){

    if(deci==0 || index==scale){

    while(index%4!=0){

    inteStr.append("0");

    index++;

    }

    break;

    }

    if(index==0){

    inteStr.append(".");

    }

    tempD = deci*2;

    inteStr.append((int)tempD);

    deci = sub(tempD ,(int)tempD);

    index++;

    if(index%4 == 0){

    inteStr.append(" ");

    }

    }

    return inteStr.toString();

    }

    /**

    * 提供精确的减法运算。

    * @param v1 被减数

    * @param v2 减数

    * @return 两个参数的差

    */

    public static double sub(double v1, double v2) {

    BigDecimal b1 = new BigDecimal(Double.toString(v1));

    BigDecimal b2 = new BigDecimal(Double.toString(v2));

    return b1.subtract(b2).doubleValue();

    }

    }

    例如将十进制数1234.5转成二进制数为:0100 1101 0010.1000

    展开全文
  • java十进制转二进制

    2017-10-10 18:48:24
    import java.util.Scanner; public class Test02{ public static void main(String[]args){ System.out.println("请输入要求输入的整型数"); Scanner sc=new Scanner(System.in); int num =sc.nextInt(); ...
  • java 十进制转二进制 并补足长度 /** * 十进制数转为2进制数 * @param num 十进制数 * @param size 返回的位数 (可以根据自己需求设置) * @return */ public static String decimalToBinary(int num, int ...
  • Java本身提供了integer...public class exam{ //—————————————-// 此程序可将任意位十进制至九进制数,// 若超过十进制则不能保证正确.//—————————————-public static void main(...
  • 睡不着 看了一下以前的博客 发现算法bug修复一下 2017年10月4日 01:38:44网上看到一个代码 很有意思大家可以看看public ...//如果该数字为负数,那么进行该负数+1之后的绝对值的二进制码的对应位取反,然后将它...
  • 用递归算法求一个int的二进制字符串;思路是:递归最简单情况(递归出口)是0和1;其余的是先调用递归算出n/2的二进制字符串,然后加上n时的位数(n % 2)。import java.util.Scanner;public class WriteBinary {public ...
  • Java中实现十进制数转换为二进制第一种:除基倒取余法这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就...
  • 面试的时候被问到能否现场写一个进制转换的方法,比如10进制转16进制等. 内心戏: 卧槽,16进制是啥东西?满16进1位,但是怎么表示16呢?1,2,3,4,5,6,7,8,9,10,11,12,13,14,15?然后大于15就进一位? 我特么的连16进制是啥都...
  • 十进制转二进制数,跟据不同的开发语言其转换方式有很多,在Java中如果相把一个十进制的整数来转换成二进制那是举手之劳,非常简单,只要用Integer.toBinaryString(int)方法就可以得到结果。但如果转换的不是一个...
  • Java十进制转二进制可使用函数:toBinaryString(); 例: public void function1(int n){ String result = Integer.toBinaryString(n); System.out.println(result); }
  • 十进制转成十六进制: Integer.toHexString(int i) ...十进制转二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.valueOf("FFFF",16).toString() 八进制转成十进制 Intege
  • 我们曾在《计算机组成原理》这门课中学习过进制转换的相关知识,在这之前,我们应该首先了解一下原码、反码和补码。根据我们以前在《计算机组成原理》学到的知识,我们知道对于正数和负数,他们的原码、反码、补码是...
  • 虽然java库已经提供了转换方法,这里讨论用java语法写进制转换。 根据&的性质把转换的位数一位位输出即可。 class jinzhitrans { char []as={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};...
  • 一、问题呈现非常经典问题,其实不仅仅是 Java 语言,还是 JS 等语言的通病,即:当我们在计算 0.1+0.2 时,惊讶的发现,结果竟然不是 0.3,而是:0....然而在十进制转二进制的过程中,有些十进制数是无法使用一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,122
精华内容 1,248
关键字:

java十进制转二进制

java 订阅