由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。
但,二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是:
0000 0000 0000 0000 0110 0100
面对这么长的数进行思考或操作,没有人会喜欢。因此,C,C++,以及java中 没有提供在代码直接写二进制数的方法。
八进制数的表达方法
如何表达一个八进制数呢?如果这个数是 876,我们可以断定它不是八进制数,因为八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那么它是八进制数还是10进制数,都有可能。
所以规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进制,但0123则表示采用八进制。这就是八进制数的表达方法。
现在,对于同样一个数,比如是100,我们在代码中可以用平常的10进制表达,例如在变量初始化时:
int a = 100;
我们也可以这样写:
int a = 0144; //0144是八进制的100;一个10进制数如何转成8进制,我们后面会学到。
千万记住,用八进制表达时,你不能少了最前的那个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;
至此,我们学完了所有进制:10进制,8进制,16进制数的表达方式。最后一点很重要,10进制数有正负之分,比如12表示正12,而-12表示负 12,;但8进制和16进制只能用达无符号的正整数,如果你在代码中里:-078,或者写:-0xF2,编译器并不把它当成一个负数。
转自http://topic.csdn.net/t/20060111/09/4509820.html
分享到:
相关推荐
Java进制转换 正整数的十进制转换二进制 将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取除得的余数,即换算为二进制数的结果。只需记住要点:除二取余,倒序排列。 由于计算机...
在Java中,十六进制是一种常用的进制,它可以用数字0到9和字母A到F表示。十六进制在计算机科学中广泛应用于表示颜色、IP地址、加密算法等。在Java语言中,可以使用十六进制来表示颜色、编写加密算法等。 下面是Java...
例如,在网络编程中,IP地址通常以点分十进制形式表示,但在底层实际上是用32位二进制表示的;又如,计算机内存中的数据是以二进制形式存储的,而我们在程序中读取时可能需要将其转换为易于理解的十进制或十六进制...
对于小数的进制转换,通常会涉及到浮点数的二进制表示,如IEEE 754标准。Java并没有直接提供将十进制小数转换为其他进制的内置方法,但可以通过一些数学运算和位操作实现。例如,将十进制小数转换为二进制通常需要...
通过这种方式,可以轻松地将数字转换为不同进制的字符串表示,并控制其输出格式。 总之,Java提供了多种途径来进行进制转换,包括`Integer`类中的静态方法和`String`类的格式化方法。开发者可以根据具体需求选择最...
/** * 16进制表示的字符串转换为字节数组 * @param hexString 16进制表示的字符串 * @return byte[] 字节数组 */ public static byte[] hexStringToByteArray(String hexString) { hexString = hexString.replaceAll...
在Java中,我们可以使用`Integer`类的`toHexString`方法,将一个整数的二进制表示转换为十六进制字符串。例如: ```java int binaryNumber = 0b101010; // 二进制数 String hexString = Integer.toHexString(binary...
本文通过一个具体的Java程序实例,详细介绍了如何将十进制数(包括正数和负数)转换为二进制表示的方法。通过对程序逻辑的逐步分析,我们不仅学习了基本的转换过程,还深入了解了负数在计算机中的补码表示方式。这种...
在计算机图形学中,颜色通常由红、绿、蓝(RGB)三个通道组成,每个通道用8位二进制表示,范围从00到FF(十六进制)。因此,一个像素的颜色可以用三组十六进制数表示,例如#FF0000代表红色,#00FF00代表绿色,#0000...
System.out.println("十六进制表示为:" + Integer.toHexString(input)); } } ``` 这段代码通过用户输入的方式获取一个十进制数字,并将其转换为十六进制字符串表示形式。 #### 四、总结 Java 提供了丰富的工具...
然而,"26进制"通常指的是使用26个字母(A-Z)来表示数值,类似于在十六进制中使用A-F来代表10-15。这种转换方法在处理基于字母的编码系统时可能会很有用,比如在创建自定义的加密算法或编码格式时。 在Java中,...
所有的计算都在这个系统下进行,因为计算机内部处理的是电信号,可以表示为开或关,对应于二进制的1或0。 2. **二进制加法**: 在二进制中,加法遵循简单的规则:0+0=0,0+1=1,1+0=1,1+1=10(进位)。在Java中,...
在Java编程语言中,进制转换是常见的操作,特别是在处理数据表示、编码或者解析用户输入时。Java提供了内置的方法来方便地在不同进制之间进行转换,主要包括十进制、二进制、八进制和十六进制。下面将详细阐述这些...
在Java中,有内置的方法可以直接将十六进制字符串转换为十进制整数。这些方法包括`Integer.parseInt()`和`Long.parseLong()`,它们都接受一个字符串作为参数,以及一个表示该字符串所代表的基数的第二个参数。例如,...
本文将详细探讨Java中如何进行String与二进制、八进制、十进制以及十六进制之间的转换。 首先,我们要了解进制的概念。进制是一种数字系统,它使用一组符号来表示数值。最常见的有二进制(base-2)、八进制(base-8...
在Java编程中,处理图像数据并将其转换为16进制表示是一项常见的任务,尤其是在进行数据存储、加密或分析时。本示例中,我们关注的是如何读取一个.jpg格式的图片文件,并提取其最后部分的数据,将其转换为16进制字符...
原码指的是一个数的二进制表示;反码是将原码中所有位取反(0变1,1变0);补码是反码加1。正数的原码、反码、补码都相同,而负数则不同。 5. 二进制数的计算原理 - 计算中的加法原理:计算机内部的数值运算基于二...
在Java编程中,二进制、字节数组、字符、十六进制和BCD(Binary-Coded Decimal,二进制编码的十进制)编码转换是常见...同时,对于BCD编码,它在处理金融或计量数据时特别有用,因为这些领域通常需要精确的十进制表示。
- `Integer.valueOf("FFFF", 16).toString()`将十六进制的"FFFF"转换为十进制表示后转换为字符串。 - `Integer.valueOf("0101", 2).toString()`将二进制的"0101"转换为十进制表示后转换为字符串。 此外,`Integer....