[JAVA]二进制,八进制,十六进制,十进制间进行相互转换
-
Java 代码
001 |
十进制转成十六进制: |
|
002 |
|
003 |
Integer.toHexString(int i) |
|
004 |
|
005 |
十进制转成八进制 |
|
006 |
|
007 |
Integer.toOctalString(int i) |
|
008 |
|
009 |
十进制转成二进制 |
|
010 |
|
011 |
Integer.toBinaryString(int i) |
|
012 |
|
013 |
十六进制转成十进制 |
|
014 |
|
015 |
Integer.valueOf("FFFF",16).toString() |
|
016 |
|
017 |
八进制转成十进制 |
|
018 |
|
019 |
Integer.valueOf("876",8).toString() |
|
020 |
|
021 |
二进制转十进制 |
|
022 |
|
023 |
Integer.valueOf("0101",2).toString() |
|
024 |
|
025 |
|
026 |
|
027 |
有什么方法可以直接将2,8,16进制直接转换为10进制的吗? |
|
028 |
|
029 |
java.lang.Integer类 |
|
030 |
|
031 |
parseInt(String s, int radix) |
|
032 |
|
033 |
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。 |
|
034 |
|
035 |
examples from jdk: |
|
036 |
|
037 |
parseInt("0", 10) returns 0 |
|
038 |
|
039 |
parseInt("473", 10) returns 473 |
|
040 |
|
041 |
parseInt("-0", 10) returns 0 |
|
042 |
|
043 |
parseInt("-FF", 16) returns -255 |
|
044 |
|
045 |
parseInt("1100110", 2) returns 102 |
|
046 |
|
047 |
parseInt("2147483647", 10) returns 2147483647 |
|
048 |
|
049 |
parseInt("-2147483648", 10) returns -2147483648 |
|
050 |
|
051 |
parseInt("2147483648", 10) throws a NumberFormatException |
|
052 |
|
053 |
parseInt("99",throws a NumberFormatException |
|
054 |
|
055 |
parseInt("Kona", 10) throws a NumberFormatException |
|
056 |
|
057 |
parseInt("Kona", 27) returns 411787 |
|
058 |
|
059 |
|
060 |
|
061 |
进制转换如何写(二,八,十六)不用算法 |
|
062 |
|
063 |
Integer.toBinaryString |
|
064 |
|
065 |
Integer.toOctalString |
|
066 |
|
067 |
Integer.toHexString |
|
068 |
|
069 |
|
070 |
|
071 |
|
072 |
|
073 |
例二 |
074 |
|
075 |
|
076 |
|
077 |
public class Test{ |
|
078 |
|
079 |
public static void main(String args[]){ |
|
080 |
|
081 |
|
082 |
|
083 |
int i=100; |
|
084 |
|
085 |
String binStr=Integer.toBinaryString(i); |
|
086 |
|
087 |
String otcStr=Integer.toOctalString(i); |
|
088 |
|
089 |
String hexStr=Integer.toHexString(i); |
|
090 |
|
091 |
System.out.println(binStr); |
|
092 |
|
093 |
|
094 |
|
095 |
} |
|
096 |
|
097 |
|
098 |
|
099 |
|
100 |
|
101 |
|
102 |
|
103 |
例二 |
104 |
|
105 |
public class TestStringFormat { |
|
106 |
|
107 |
public static void main(String[] args) { |
|
108 |
|
109 |
if (args.length == 0) { |
|
110 |
|
111 |
System.out.println("usage: java TestStringFormat <a number>"); |
|
112 |
|
113 |
System.exit(0); |
|
114 |
|
115 |
} |
|
116 |
|
117 |
|
118 |
|
119 |
Integer factor = Integer.valueOf(args[0]); |
|
120 |
|
121 |
|
122 |
|
123 |
String s; |
|
124 |
|
125 |
|
126 |
|
127 |
s = String.format("%d", factor); |
|
128 |
|
129 |
System.out.println(s); |
|
130 |
|
131 |
s = String.format("%x", factor); |
|
132 |
|
133 |
System.out.println(s); |
|
134 |
|
135 |
s = String.format("%o", factor); |
|
136 |
|
137 |
System.out.println(s); |
|
138 |
|
139 |
} |
|
140 |
|
141 |
} |
|
142 |
|
143 |
|
144 |
|
145 |
|
146 |
|
147 |
|
148 |
|
149 |
其他方法: |
|
150 |
|
151 |
|
152 |
|
153 |
Integer.toHexString(你的10进制数); |
|
154 |
|
155 |
例如 |
156 |
|
157 |
String temp = Integer.toHexString(75); |
|
158 |
|
159 |
输出temp就为 4b |
|
160 |
|
161 |
|
162 |
|
163 |
|
164 |
|
165 |
|
166 |
|
167 |
//输入一个10进制数字并把它转换成16进制 |
|
168 |
|
169 |
import java.io.*; |
|
170 |
|
171 |
public class toHex{ |
|
172 |
|
173 |
|
174 |
|
175 |
public static void main(String[]args){ |
|
176 |
|
177 |
|
178 |
|
179 |
int input;//存放输入数据 |
|
180 |
|
181 |
//创建输入字符串的实例 |
|
182 |
|
183 |
BufferedReader strin=new BufferedReader(new InputStreamReader(System.in)); |
|
184 |
|
185 |
System.out.println("请输入一个的整数:"); |
|
186 |
|
187 |
String x=null; |
|
188 |
|
189 |
try{ |
190 |
|
191 |
x=strin.readLine(); |
|
192 |
|
193 |
}catch(IOException ex){ |
|
194 |
|
195 |
ex.printStackTrace(); |
|
196 |
|
197 |
} |
|
198 |
|
199 |
input=Integer.parseInt(x); |
|
200 |
|
201 |
System.out.println ("你输入的数字是:"+input);//输出从键盘接收到的数字 |
|
202 |
|
203 |
|
204 |
|
205 |
System.out.println ("它的16进制是:"+Integer.toHexString(input));//用toHexString把10进制转换成16进制 |
|
206 |
|
207 |
} |
|
208 |
|
209 |
} |
- 点赞
- 收藏
- 关注作者
评论(0)