24小时热门版块排行榜    

查看: 1873  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

chineseway

捐助贵宾 (知名作家)

离...

[求助] 请教java里如何将16进制转换成10进制,并自动识别处理成正负数

请教java里如何将16进制转换成10进制,并自动识别处理成正负数

我们的程序里有一段代码本来的目的就是将获取的一个16进制的数据转换成10进制,
下面是获取的16进制数据的一些例子:
040B
0103
04D1
00E8
FFB0   
FFBA  
FFE7   
FFD8

当获取到
040B
0103
04D1
00E8
这些数据的时候,按"正常"的16进制转成10进制,得到的都是正数的结果,都是对的
但是获取到
FFB0   
FFBA  
FFE7   
FFD8
这些数据的时候,按"正常"的16进制转成10进制,得到的是很大的正数的结果,比如FFB0会转换成

65456
但实际上这时候我想把它转换成-80

下面这段代码我们是找个朋友写的,而且有些时候处理的也不对,我对编程完全外行,想请高手帮

忙修改下.

String ph=String.valueOf(charArray[10])+String.valueOf(charArray

[11])+String.valueOf(charArray[12])+String.valueOf(charArray[13]);
                     double ph_d=0.0;
                     
                     int ph_t=Integer.parseInt(ph,16);
                     String ph_bi=Integer.toBinaryString(ph_t);
                     char[] ph_char=ph_bi.toCharArray();
                     
                     if(ph_t/100.0>513){
                             String ph_bi2="";
                             for(char obj:ph_char){
                                             if(obj=='1'){
                                                   ph_bi2+="0";
                                             }else{
                                                   ph_bi2+="1";
                                             }
                             }
                             ph_d=-(Integer.valueOf(ph_bi2,2)+1);
                     }else{
                             ph_d=ph_t/100.0;
                     }
回复此楼
如何学代理:http://emuch.net/bbs/viewthread.php?tid=274515&fpage=1
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chineseway

捐助贵宾 (知名作家)

离...

引用回帖:
3楼: Originally posted by wizardfan at 2012-07-31 16:32:52
String str = "FFB0"; //the HEX string
        int i = Integer.parseInt(str, 16); //the corresponding base 10 integer
        if(i>=32768) i -= 65536;
        System.out.println(i);

呵呵
谢谢

你这倒是个办法 但不知道是不是有什么正统的方法
我总感觉有种直接的方法 定义好数据类型后 一个函数搞定的
给你看看别人的方法

http://topic.csdn.net/u/20120713 ... 7-597b043761ab.html
如何学代理:http://emuch.net/bbs/viewthread.php?tid=274515&fpage=1
4楼2012-08-01 17:33:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 chineseway 的主题更新
信息提示
请填处理意见