[JAVA]二进制,八进制,十六进制,十进制间进行相互转换

举报
斌哥来了 发表于 2021/07/27 19:22:26 2021/07/27
【摘要】 -Java 代码查看代码001十进制转成十六进制:002 003Integer.toHexString(int i)004 005十进制转成八进制006 007Integer.toOctalString(int i)008 009十进制转成二进制010 011Integer.toBinaryString(int i)012 013十六进制转成十进制014 015Integer....

-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
}
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。