首页编程java编程java 进制转换有什么用,在java中如何用for循环把一个十进制数转换成二进制

java 进制转换有什么用,在java中如何用for循环把一个十进制数转换成二进制

编程之家2023-10-13106次浏览

大家好,关于java 进制转换有什么用很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于在java中如何用for循环把一个十进制数转换成二进制的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

java 进制转换有什么用,在java中如何用for循环把一个十进制数转换成二进制

用JAVA把二进制数转换成十进制数。

二进制转十进制

Integer.valueOf("0101",2).toString()

import java.util.Scanner;

java 进制转换有什么用,在java中如何用for循环把一个十进制数转换成二进制

public class Test{

public static void main(String[] args){

Scanner sc= new Scanner(System.in);

java 进制转换有什么用,在java中如何用for循环把一个十进制数转换成二进制

System.out.println("输入一个二进制数:");

String a= sc.nextLine();

int d= Integer.parseInt(a, 2);// 2进制

int o= Integer.parseInt(a, 8);// 8进制

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

System.out.println("八进制转为十进制:"+ o);

计算机内部使用二进制表示数

二进制与十进制的转换是比较复杂的。比如我们要让计算机计算50+50=?,那么首先要把十进制的50转换成二进制的“50”——110010,这个过程要做多次除法,而计算机对于除法的计算是最慢的。把十进制的50转换成二进制的110010还不算完,计算出结果1100100之后还要再转换成十进制数100,这是一个做乘法的过程,对计算机来说虽然比除法简单,但计算速度也不快。

以上内容参考:百度百科-十进制

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

如果表达小于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。

进制转换问题

首先800/16=50(十进制转16进制将要转换的数值除以你要转换的进制数)

50/16=3余数是2(将商继续除以16直到0为止)

那么将3除以16 3/16得到的商是0余数是3(进制转换的商个位数值得到0了)

那么我们三次计算的余数分别是0,2,3将余数倒过来排列就是我们得到的十进制转十六进制的数,表示的时候呢,320容易和其他进制的数混淆,加一个十六进制标示H那么结果为:320H参考文档:http://www.end100.com/juzhao/280.html

低位256向高位+1低位变0这个问题深了点,不过我愿意动脑子分析:首先256进制的递进是 256写为10(比如2进制中 2写为10 256进制也应当写为10至于你说的加1后低位是0不该是256就进制来看的话怎么感觉应该是257进制个位为0,不过C当中有个移位往左边移1位应该是560向右移位 025都与你说的不相符,可能是我知识面小了点。我也是初学,不过不是JAVA,相互探讨嘿嘿。)

在java中如何用for循环把一个十进制数转换成二进制

进制转换的思想

抓住关键点,不管多少进制,一个数的值是不变。

先搞清楚进制衡量了什么:n进制实际上代表一个数位与相邻数位之间的权重比,简单点说,相邻两位,一个高位的值代表n个低位。

一个n进制的数,转换为一个m进制的数,基本过程就是反复的——对n进制表示的m取余,除以n进制表示的m。为什么不直接写除以m呢?举个例子,假设十进制数99转换为2进制,那么过程就是反复——取余,除以2;看起来是除以m了;那反过来,如果把二进制数1100011(十进制数99)转换为十进制呢?这是时候应该对1010(十进制数10)取余,除以1010。

按问题要求代码如下:

public static void main(String[] args){

int a= NUM;// NUM代表十进制数

String binary="";// binary代表最后二进制字符串

for(; a!= 0; a/= 2){

binary= a% 2+ binary;

}

}

实际上Java中已经提供了这种工具类,Integer.toBinaryString(int a)就可以实现该转换。

文章到此结束,如果本次分享的java 进制转换有什么用和在java中如何用for循环把一个十进制数转换成二进制的问题解决了您的问题,那么我们由衷的感到高兴!

java为什么开子线程(java创建子线程为什么要有两种方法)多哈时间 多哈时间2350是北京时间几点