189 8069 5689

java16进制代码的简单介绍

可以把java中十进制数用代码直接转为16进制吗?

//当然可以:我分两步讲解,两种方法,一个比较简单,利用系统API,一个讲原理稍微复杂一点!

湖州网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联公司成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

import java.util.Scanner;

public class Tohex 

{

//录入数字用!

private static Scanner sc=new Scanner(System.in);

//容器,存放转好的数字,也可以不用,也可以用数组!

private static StringBuffer sb;

public static void main(String[] args) 

{

/*

 Integer,这个类功能很强大,是Java提供的,想用可以查询一下;

 特点就是简单拿来就用,新手不建议使用,搞懂进制转换原理以后在去使用API事半功倍!

*/

System.out.println("\n\t\t==========装16进制!==========\n\n系统API(Integer)演示:\n");

init();

}

//方法1,用系统API

private static void init()

{

//十进制!

int a=125454;

//转换过程16进制!

String hex=Integer.toHexString(a);

System.out.println(a+" 十六进制= "+hex+"\n------------------------------------\n\t\t自定义测试:\n");

input();

}

//方法2:自己动手转换,了解转换原理!

private static void input()

{

while(true)

{

System.out.println("输入被转数字:\n");

int a=sc.nextInt();

System.out.println("输入想转的进制:暂时支持2,8,16进制");

int b=sc.nextInt();

ToHex(a,b);

}

}

//转换过程!

private static void ToHex(int x,int y)//a是要转数字,b是进制!

{

sb=new StringBuffer();

int a=x,b=0,c=0;

switch(y)

{

case 2:b=1;c=1;

break;

case 8:b=7;c=3;

break;

case 16:b=15;c=4;

break;

default :break;

}

while(a0)

{

int tem=ab;

String s= tem9?((char)(tem-10+'A'))+"":tem+"";

sb.append(s);

a=ac;

}

print(sb);//传递打印!

}

//打印!

private static void print(StringBuffer sb)

{

System.out.println("\n结果演示:"+sb.reverse()+"\n请继续输入测试---\n");

sb=null;

}

}

用java 写一个10进制转16进制的算法 怎么写

算法比较复杂,建议直接使用系统内置的方法

int num = 1000;

String hexStr = Integer.toHexString(num);

直接看源码,可能你需要的只是简单的,需要的话我可以给你写个简单的算法,只支持正数,应该还不能太大的

public static void main(String[] args) {

int num = 5000;

String hexStr = Integer.toHexString(num);

System.out.println(hexStr);

StringBuilder builder = new StringBuilder();

int2Hex(num, builder);

System.out.println(builder.reverse());

}

static char[] hexChar = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };

public static void int2Hex(int num, StringBuilder builder) {

if (num  0) {

return;

}

if (num  16) {

builder.append(hexChar[num]);

return;

}

int temp = num % 16;

int index = num / 16;

builder.append(hexChar[temp]);

int2Hex(index, builder);

}

Java 十六进制的问题

public class test {

public static void main(String[] args) {

long f = Integer.parseInt("8FFFFFF", 16);//把16进制转化成10进制

long t = 1024*1024;

double m = f/(double)t;

System.out.println(m);

}

}

我计算的结果是:143.99999904632568

我大体估算了下也是

8FFFFFF=8*16^6+15*(16^5+16^4+16^3+16^2+16+1)

=2^27+15*(2^20+2^16+2^12+2^4+1)

=2^27+(2^4-1)*(2^20+2^16+2^12+2^4+1)

=2^27+2^24+2^20+2^16+2^8+2^4-(2^20+2^16+2^12+2^4+1)

=2^27+2^24+2^19+2^15-2^12+2^8-1

=2^27+2^24+2^19+2^12*(2^3-1)+2^8-1

=2^27+2^24+2^19+2^12*7+2^8-1

t=2^27+2^24+2^19+2^12*7+2^8-1

1MB=2^10KB=2^20b

m=t/2^20=2^7+2^4+2^(-1)+2^(-5)=16*9+0.5=144.5

想不到你是一个java高手,你写的程序我没 有遇见过,是文件的读写吧?

java字符串转16进制

1、写转换函数是必须的,目前Jdk中无现有类。

2、在不同的字符编码当中,汉字的对应的数值或者说编码值不一样,像GBK、Unicode肯定是不一样的。以Java默认的Unicode为例说明问题。

3、 一,得到字符串,

二,遍历每个字符,用char来接收,实为int值,或直接用int也可以。

三,Integer.toHexString(每个字符对应的int值);

四,前缀加个“0x”就可以了。

4、如果是其它类型的话,找到对应的字符和数值对应表就可以了。

不知可否解决问题了。

急!急!急!跪求java实现计算器十六进制代码,,,十万火急啊

这个问题其实很简单。你只要把string作为16进制转成int,运算,得到结果转成16进制显示就可以了。提供你这样一个思路。

过程如下

String

str1

=

"FF98";//取值

textFiled1.getText();

String

str2

=

"EFA7";//取值

textFiled1.getText();

//转化

int

a

=

convertToInt(str1);

int

b

=

convertToInt(str2);

//运算(例如加法)

int

c

=

a+b;

String

result

=

convertToHex(c);

//显示

textField1.setText(result);

其中

int

convertToInt(String

s){

return

Integer.parseInt(s,16);

}

String

convertToHex(int

i){

return

Integer.toHexString(i);

}

给分吧。

在java 中,十进制转化为十六进制的代码,哪位大神能帮我解释一下流程,如下图,特别是画红线的部分。

在main方法中直接调用即可,代码如下:

public static void main(String[] args) {

HexToDec("1e6f");

}

/**

* 将十六进制的字符串转化为十进制的数值

*/

public static long HexToDec(String hexStr) {

MapString, Integer hexMap = prepareDate(); // 先准备对应关系数据

int length = hexStr.length();

long result = 0L; // 保存最终的结果

for (int i = 0; i length; i++) {

result += hexMap.get(hexStr.subSequence(i, i + 1)) * Math.pow(16, length - 1 - i);

}

System.out.println("hexStr=" + hexStr + ",result=" + result);

return result;

}

/**

* 准备十六进制字符对应关系。如("1",1)...("A",10),("B",11)

*/

private static HashMapString, Integer prepareDate() {

HashMapString, Integer hashMap = new HashMapString, Integer();

for (int i = 1; i = 9; i++) {

hashMap.put(i + "", i);

}

hashMap.put("a", 10);

hashMap.put("b", 11);

hashMap.put("c", 12);

hashMap.put("d", 13);

hashMap.put("e", 14);

hashMap.put("f", 15);

return hashMap;

}


分享文章:java16进制代码的简单介绍
链接URL:http://jkwzsj.com/article/hjsiep.html

其他资讯