1. java程 数值转换 将16进制转化为10进制
publicclassHex2Dec{
publicstaticvoidmain(String[]args){
longsum=0,tmp=0;
for(inti=0;i<args[0].length();i++)
{
charc=args[0].charAt(i);
if(c>='0'返轮&&c<='9')tmp=c-'0';
elseif(c>='A'&&枣镇c<='F')tmp=c-'A'+10;
else{System.out.println("有非法字符");break;}
sum=sum*16+tmp;
}
System.out.println("十六进制"+args[0]+"===>十进制"+sum);
}
}
运行 java Hex2Dec 123ABCDEF
十凳世粗六进制123ABCDEF===>十进制4893429231
2. 如何将十六进制转成十进制,在java中
intn16=0x10;
intn10=16;
滚猜槐//十进制转化为十六进制
Strings16=Integer.toHexString(n10);
//十六进制转化为十进制
inta10=Integer.parseInt(s16,16);
兆裤//实际上十六进制是可以直接当十进制使用的,注意赋值时类型选择,防止精度丢失
System.out.println(n16);
System.out.println(n10);
System.out.println(s16);
大友System.out.println(a10);
3. JAVA 十六进制转十进制
你的程序在i>256时,one变成一位十六进制数了,前面缺了一个0.
在i>256时,在one前面补一个0,就行了.
完整的程序如下:(改动的地方见注释)
publicclassA{
publicstaticvoidmain(String[]args){
for(inti=1;i<260;i++){
byte[]cs=newbyte[2];
cs[0]=(byte)(i&0xFF);
cs[1]=(byte)((i/256)&0xFF);
System.out.println("cs[0]---"+cs[0]);
System.out.println("cs[1]---"+cs[1]);
Stringone=Integer.toHexString(cs[0]&0xFF);
Stringtwo=Integer.toHexString(cs[1]&0xFF);
System.out.println("one---"+one);
System.out.println("two---"+two);
if(one.length()==1)one="0"+one;//这里加一句
Stringthr=two+one;
System.out.println(thr);
inthh=Integer.valueOf(thr,16);
System.out.println("发出的数是:"+i);
System.out.println("返回的数是:"+hh);
}
}
}
4. java中如何把十六进制转为十进制
分类: 电脑/网络 >> 程序设计 >> 其他编程伍亮语言
问题描述:
我用的java1.4 请问如何将十六进制整形数转化为十进制数橘冲的
解析:
import java.awt.*;
public class d2x extends Frame
{
int decimalValue= 0;
String baseXValue = new String("0");
TextField dDisplay,xDisplay;
d2x constructor
d2x()
{
super("Decimal Converter");set the title of the frame
MenuBar mb = new MenuBar();
Button d2Binary = new Button("Binary");
Button d2Octal = new Button("Octal");
Button d2Hex = new Button("Hex");
Button d2Base36 = new Button("Base36");
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
add a simple menu
Menu m = new Menu("Application");
m.add(new CheckboxMenuItem("Base 36 Active"));
m.add(new MenuItem("Exit"));
add menu to menubar
mb.add(m);
setMenuBar(mb);install this menu bar in the frame
Add buttons to their own panel
p3.setLayout(new FlowLayout());
p3.add(d2Binary);
p3.add(d2Octal);
p3.add(d2Hex);
p3.add(d2Base36);
Add text fields
Label dLabel = new Label("Enter Deecimal: ");
Label xLabel = new Label("Converted Value: ");
dDisplay = new TextField(Integer.toString(decimalValue),7);
xDisplay = new TextField(baseXValue,32);
xDisplay.setEditable(false);
p1.setLayout(new FlowLayout(FlowLayout.LEFT));
p2.setLayout(new FlowLayout(FlowLayout.LEFT));
p1.add(dLabel);
p1.add(dDisplay);
p2.add(xLabel);
p2.add(xDisplay);
Add the panels
add("North",p1);
add("Center",p2);
add("South"薯歼,p3);
}end d2x constructor
public void start()
{
resize(400,150);
show();
}
public void updateXDisplay()
{
xDisplay.setText(baseXValue);
}
public boolean handleEvent(Event evt)
{
if (evt.target instanceof MenuItem)
{
if ("Exit".equals(((MenuItem)evt.target).getLabel()))
{
hide();
dispose();
System.exit(0);
return false;
}
return true;
}
else if(evt.target instanceof Button)
{
String whick = ((Button)evt.target).getLabel();
if (whick.equals("Binary"))
{
decimalValue = Integer.parseInt(dDisplay.getText());
baseXValue = Integer.toString(decimalValue,2);
}
if (whick.equals("Octal"))
{
decimalValue = Integer.parseInt(dDisplay.getText());
baseXValue = Integer.toString(decimalValue,8);
}
if (whick.equals("Hex"))
{
decimalValue = Integer.parseInt(dDisplay.getText());
baseXValue = Integer.toString(decimalValue,16);
}
if (whick.equals("36"))
{
decimalValue = Integer.parseInt(dDisplay.getText());
baseXValue = Integer.toString(decimalValue,36);
}
updateXDisplay();
return true;
}
return false;
}
public static void main(String args[])
{
d2x m = new d2x();
m.start();
}
}
5. Java十六进制转换为十进制
import java.util.Scanner;
public class Test60025 {
public static void main(String []args){
int repeat, i;
String s;
System.out.print("输入Repeat的值:");
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
in.nextLine();
int arr[]=new int[repeat];
for(i=0; i<repeat; i++){
System.out.print("输入任意字符:");
s=in.nextLine();
arr[i]=Integer.valueOf(captureHex(s), 16);
}
System.out.println("输出:");
for (int j = 0; j < arr.length; j++) {
System.out.println(arr[j]);
}
}
public static String captureHex(String target){//获取字符串中十六进制的字符,A与a为同一字符
char ch=0;
String validStr="";
for (int i = 0; i < target.length(); i++) {
ch=target.charAt(i);
if((ch>='0'&&ch<='9')||(ch>='a'&&ch<='f')||(ch>='A'&&ch<='F')){
validStr+=ch;
}
}
if("".equals(validStr)){
System.out.println("非法输入,此行不含任何十六进制字符");
validStr="0";
}
return validStr;
}
}
6. java 16进制怎么转10进制
低进制转化高进制数字应该变小,21的16进制是15;
Integer.parseInt(str,16);
16的意思是将str以16进制解析str为10进制,不是将str转化为16进制;
10转16的方法是:
Integer.toHexString(num);
看个例子:
7. java十六进制怎么转化成十进制
public class Hex {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// 十进制转化为十六进制
int data = 15;
String Hex = Integer.toHexString(data);
System.out.println(Hex);
// 十橡缺盯六进梁和制扮胡转化为十进制
System.out.println(Integer.parseInt(Hex,16));
}
}
8. 使用java,如何将十六进制数D6CD2F01转换为十进制数19910102
import java.util.Scanner;
public class test2{
public static void main(String [] args){
Scanner cin=new Scanner(System.in);
String num1="D6CD2F01";//"D6CD2F01";
//long n=Long.parseLong(num1,16);//由16进制转化为10进制(两个都行,1:返回long;2:返回Long)
long n=Long.valueOf(num1,16);
System.out.print(n);
/*
D6CD2F01的十进制数已经超过int的范围了
3603771137
*/
}
}
9. java怎么把16进制的字符串转化为十进制
toHexString
public static String toHexString(int
i)以十六进制的无符号整数形式返回一个整数参数的字符串表示形式。
如果参数为负,那么无符号整数值为参数加上
232;否则等于该参数。将该值转换为十六进制(基数 16)的无前导 0 的 ASCII 数字字符串。如果无符号数的大小值为零,则用一个零字符 '0'
('\u0030') 表示它;否则,无符号数大小的表示形式中的第一个字符将不是零字符。用以下字符作为十六进制数字:
0123456789abcdef
这些字符的范围是从 '\u0030' 到 '\u0039' 和从 '\u0061' 到 '\u0066'。如果希望得到大写字母,可以在结果上调用
String.toUpperCase() 方法:
Integer.toHexString(n).toUpperCase()
参数:
i
- 要转换成字符串的整数。
返回:
用十六进制(基数 16)参数表示的无符号整数值的字符串表示形式。
// 转化字符串为十六进制编码
public static String toHexString(String s)
{
String str="";
for
(int i=0;i<s.length();i++)
{
int ch = (int)s.charAt(i);
String s4
= Integer.toHexString(ch);
str = str + s4;
}
return str;
}
// 转化十六进制编码为字符串
public static String toStringHex(String s)
{
byte[] baKeyword = new byte[s.length()/2];
for(int i = 0; i <
baKeyword.length; i++)
{
try
{
baKeyword[i] = (byte)(0xff &
Integer.parseInt(s.substring(i*2, i*2+2),16));
}
catch(Exception e)
{
e.printStackTrace();
}
}
try
{
s = new
String(baKeyword, "utf-8");//UTF-16le:Not
}
catch (Exception e1)
{