在java中怎么表示八进制和十六进制?实例展示

BSO 2020-09-11 10:32:19 java常见问答 7135

上次已经为大家介绍过在java中怎么将二进制与十六进制进行转换?今天继续为大家介绍一些与进制转换相关的内容,也就是在java中怎么表示八进制和十六进制?并且通过实际的代码为大家展示。

大家都知道数据在计算机中的表示,最终都会以二进制的形式存在,因此二进制的使用是十分广泛的。但是,存在一个问题,就是二进制数实在太长了。比如int类型占用4个字节,32位。比如100,用int类型的二进制数表达将是:

0000 0000 0000 0000 0110 0100

由于上述的原因,C,C++,以及java中没有提供在代码内直接写二进制数的方法。

接下来说回正题,八进制数的表达方法 。

假设这个数是876,我们可以断定它不是八进制数,因为八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那就不好判断了。因此规定,一个数如果要指明它采用八进制,必须在它前面加上一个0(零)。举个例子:123是十进制,但0123则表示采用八进制。这就是八进制数的表达方法。

再举个例子,比如100,我们在代码中可以用平常的10进制表达,例如在变量初始化时:

int a = 100;

也可以写成:

int a = 0144;

需要特别注意的是,用八进制表达时,不能少了最前的那个0。否则计算机会全部当成10进制。但是,有一个地方使用八进制数时,却不能使用加0,那就是用于表达字符的“转义符”表达法。

然后再说一下十六进制数的表达方法

由于16进制数容易和10进制相混。举个例子:9876,就不好判断它是16进制或10进制。

因此规定16进制数必须以0x开头。比如:0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也不区分大小写。(需要注意的是:0x中的0是数字0,而不是字母O)

下面举例进行说明:

int a = 0x100F;
int b = 0x70 + a;

以上就是关于在java中怎么表示八进制和十六进制的主要内容,并通过举例加以说明。如果你对java知识感兴趣,想要了解更多java基础常见问题,敬请关注奇Q工具网。

推荐阅读:

二进制中1的个数(思路和实现)

java自动类型转换是什么意思?强制的又是什么意思?

java对象类型转换,强制对象类型转换介绍