1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java如何输入(输出)二进制 八进制 十六进制数?(新手向)

java如何输入(输出)二进制 八进制 十六进制数?(新手向)

时间:2019-05-03 00:40:54

相关推荐

java如何输入(输出)二进制 八进制 十六进制数?(新手向)

目录

一.前言。

二.那么,我们如何才能输入一个2进制,8进制,或者16进制的数呢?

三.那么,我们如何才能输出一个2进制,8进制,或者16进制的数呢?

一.前言。

在java中,数据默认是十进制的。(其实C也是)

eg:下列代码中,我们定义一个整型变量i 并将5赋值给i,那么输出结果就是5

public class Demo1 {public static void main(String[] args) {int i = 5;System.out.println("the value of i:" + i);}}

输出结果:

二.那么,我们如何才能输入一个2进制,8进制,或者16进制的数呢?

Java语言规定:(其实C也是)

{

2进制前要加0b或者0B

8进制前要加0

16进制前要加0x或者0X

}

而在汇编语言中:

数字后 + {

B二进制数

O 八进制数

D 十进制数

H 十六进制数

}

那么我们就以java语言为栗,看看如何输入不同进制的数:

①我们先试着输入一个二进制数,0B00001111,根据进制转化,00001111对应于十进制中的15

如果有小伙伴儿不知道进制转换,可以查看我之前写的这篇文章,比较详细:

/TYRA9/article/details/127197213?spm=1001..3001.5501/TYRA9/article/details/127197213?spm=1001..3001.5501

public class Demo1 {public static void main(String[] args) {int i2 = 0B00001111;System.out.println("The value of i2 = " + i2);}}

因此,输出结果就是:

②我们再试着来输入一个八进制数,0111,根据进制转化,(111) 8 = (73) 10 ,

public class Demo1 {public static void main(String[] args) {int i3 = 0111;System.out.println("The value of i3 is :" + i3);}}

输出结果是:

③我们再来试着输入一个十六进制数,0X2F, 根据进制转化,(2F) 16 = (47) 10,

public class Demo1 {public static void main(String[] args) {int i4 = 0X2F;System.out.println("The value of i4 is :" + i4);}}

输出结果:

三.那么,我们如何才能输出一个2进制,8进制,或者16进制的数呢?

8进制和16进制建议使用print函数输出,因为同适用于C语言

上代码:

public class Demo1 {public static void main(String[] args) {int ii2 = 73;System.out.printf("%o\n", ii2);System.out.printf("%#o\n", ii2);System.out.println("--------------------");int ii3 = 47;System.out.printf("%X\n",ii3);System.out.printf("%#X\n",ii3);}}

#表示输出结果会带前导符号,八进制是0,十六进制是0X或ox(%#x就是0x, %#X就是0X)

输出结果:

2进制就不能用printf函数输出了,可以用Integer.toBinaryString()方法来转成2进制,其中Binary就是二进制的意思。

我们以十进制的15为栗,它的二进制形式是 : 00001111

代码:

public class Demo1 {public static void main(String[] args) {int ii4 = 15;System.out.println("The binary form of ii4 is :" + Integer.toBinaryString(ii4));}}

输出结果:

拓展:输出的二进制代码不是8位二进制的,我们可以用DemicalFormat来改进:

代码:

public class Demo1 {public static void main(String[] args) {int ii4 = 15; DecimalFormat df = new DecimalFormat("00000000");String ii4BinaryStr = Integer.toBinaryString(ii4);Integer ii4BinaryInt = Integer.valueOf(ii4BinaryStr);System.out.println("The eight bits' binary form of ii4 is :" + df.format(ii4BinaryInt));}}

输出结果:

这样就输出了8位二进制。DemicalFormat初学者了解一下即可,不必深究。

System.out.println("END----------------------------------------------------------------");

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。