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

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

-

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个月内不可修改。