java中如何将十进制数字转化成二进制?

java中有没有什么方法将十进制转化成二进制的方法?再就是转化成二进制后,有没有什么方法可以判断它的第几位上是0,第几位上是1?... java中有没有什么方法将十进制转化成二进制的方法?再就是转化成二进制后,有没有什么方法可以判断它的第几位上是0,第几位上是1? 展开
 我来答
yihla5739
高粉答主

推荐于2019-09-16 · 每个回答都超有意思的
知道答主
回答量:149
采纳率:100%
帮助的人:4.7万
展开全部

如果表达小于2^31-1的正数代码如下:

public void binaryToDecimal(int n){

int t = 0;  //用来记录位数

int bin = 0; //用来记录最后的二进制数

int r = 0;  //用来存储余数

while(n != 0){

r = n % 2;

n = n / 2;

bin += r * Math().pow(10,t);

t++; 

}

System.out.println(bin);

}

使用字符串的拼接(+)来实现大于2^31-1的数,代码如下:

public void binaryToDecimal(int n){

String str = "";

while(n!=0){

str = n%2+str;

n = n/2;

}

System.out.println(str);

}

可以右移后再与0x01进行&运算  得到第一位的数字判断判断它的第几位上是0,第几位上是1,代码如下:

class ByteMove 

{

public static void main(String[] args) 

{

int i = 7;

move(i);

}

static void move(int num){

for(int i= 0;i<6;i++){

System.out.println("第"+(i+1)+"位:" + (num >> i & 0x01));

}

}

}

扩展资料:

在windows下编译java文件、执行:

1、先创建一个txt,更改为test.java。

2、编写代码,为输出为holloword。

3、找到cmd,并进行打开cmd。

4、编译java文件,输入命令为javac test.java。

5、如果没有报错,查看当前目录下是否有class文件产生。

6、执行class文件,在命令输入java test,输出为holloword。

shala202020
推荐于2017-09-26 · TA获得超过4159个赞
知道小有建树答主
回答量:1410
采纳率:85%
帮助的人:373万
展开全部
java进制转换
java中进行二进制,八进制,十六进制,十进制间进行相互转换
十进制转成十六进制:
Integer.toHexString(int i)
十进制转成八进制
Integer.toOctalString(int i)
十进制转成二进制
Integer.toBinaryString(int i)
十六进制转成十进制
Integer.valueOf("FFFF",16).toString()
八进制转成十进制
Integer.valueOf("876",8).toString()
二进制转十进制
Integer.valueOf("0101",2).toString()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
欣水寓言
推荐于2017-09-19 · TA获得超过604个赞
知道小有建树答主
回答量:476
采纳率:100%
帮助的人:669万
展开全部
java.lang.Integer这个API包中有进制转换的函数
public static String toBinaryString(int i)
public static String toHexString(int i)
public static String toOctalString(int i)
这3个函数都可以将十进制的整数转换成二、一六、八进制数
不过转换后的结果都是字符串的形式

既然得到的是字符串
我想你当然就可以利用string.sub(x-1,x)的方法来判断该x位的数等于0还是1
之后再把x返回出来,那么就知道结果了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鬼火狼烟
2006-10-13 · TA获得超过6333个赞
知道大有可为答主
回答量:2275
采纳率:50%
帮助的人:2745万
展开全部
需要这么做么,如果你愿意,你就可以直接把1个10进制的数当作2进制来看待的.判断他某几位是不是0可以用掩码的方法:

比如:

判断10进制10的第2位是不是1,可以用 10 & 2 是否等于0来得到,等于0,该位不是1,否则该位是1,原理, 10和2的2进制代码是:

1010 & 0010 = 0010 != 0 所以10的第2位是1,依次类推,用10&4去判断第3位是不是1.用6判断第2位和第3位是不是同时为1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我爱昆虫0
2021-05-06
知道答主
回答量:2
采纳率:0%
帮助的人:957
展开全部
package com;

import java.util.Scanner;

public class Demo {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入需要转换的数:");
System.out.println("转换之后为:"+io(toBin(input.nextInt())));
}
static String toBin(int hi) {
if(hi/2 == 0) {return Integer.toString(hi%2);}
return toBin(hi/2)+Integer.toString(hi%2);
}
static String io(String hi) {
if(hi.indexOf("-") >=0) {
hi = hi.replaceAll("-", "");
return "-"+hi;
}
return hi;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式