java中将十六进制数字字符串转换为双精度数字

2024-01-04

java中如何将十六进制数字字符串转换为双精度数字?

在 matlab 中很简单:

>> hex2num('c0399999a0000000')

ans =

  -25.6000

但我也可以在java中做同样的事情吗?

我尝试了 parseInt() 但这个数字不是整数。


我想你想要Double.longBitsToDouble http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#longBitsToDouble%28long%29, 像这样:

public class Test {
    public static void main(String[] args) {
        String hex = "c0399999a0000000";
        long longHex = parseUnsignedHex(hex);
        double d = Double.longBitsToDouble(longHex);
        System.out.println(d);
    }

    public static long parseUnsignedHex(String text) {
        if (text.length() == 16) {
            return (parseUnsignedHex(text.substring(0, 1)) << 60)
                    | parseUnsignedHex(text.substring(1));
        }
        return Long.parseLong(text, 16);
    }
}

(事实是long在 Java 中签名会让这比你真正想要的更尴尬,但是嘿......)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中将十六进制数字字符串转换为双精度数字 的相关文章

随机推荐

  • 按字段排序 (int)。如果字段不是int?

    我在使用 LINQ C 语言 时遇到问题 我需要按字段排序记录列表 应该是int 但有时不是 from MyObject obj in new MyObject where obj Visibile 1 orderby Int32 Pars
  • 打印目标列中最常出现的前 2 个值

    我有如下所示的三列 并尝试返回第三列的 top1 和 top2 最高计数 我希望生成此输出 如下所示预期产出 数据 打印 df AGE GENDER rating 0 10 M PG 1 10 M R 2 10 M R 3 4 F PG13
  • Google“reCaptcha”有时不会显示/渲染

    有时我必须多次重新加载网页 直到呈现 reCaptcha 我和一个朋友在 Firefox 和 Chrome 上进行了测试 但问题是一致的 并且似乎并不取决于所使用的浏览器 我用来显示 reCaptcha 的代码
  • Java归并排序,“合并”步骤应该用队列还是数组来完成?

    这不是家庭作业 我没有钱上学 所以我一边在高速公路收费站轮班工作一边自学 漫长的夜晚 几乎没有顾客 我试图通过以下方式实现一个简单的 合并排序 thinking首先 如果你想进行一些实际的学习 请稍微伸展一下我的大脑 并且then查看我正在
  • Php 数组对动态数组上的服装尺寸 (XXS XS S M L XL XXL) 和数字进行排序

    我有一个类似这样的数组 Array 0 gt XL 1 gt M 2 gt L 3 gt XL 4 gt S 5 gt XXL 但我想对我的数组进行排序 S M L XL XXL 我知道我可以用 usort 来做到这一点 但是 我得到了一些
  • 为什么“with open()”更适合在 Python 中打开文件?

    通常 当有人发布他们的代码时 人们会在旁边添加 你应该使用with open filename as f现在的语法 我同意大多数老式的f open 陈述没有附带 close 我什至回答过一些问题 其中对 隐式关闭 的依赖是他们编程问题的全部
  • Matlab 软件中的“处理”会减慢程序速度

    每当我保存 更改文件夹或有时看似随机的时间时 当前文件夹图块都会显示一个加载图标并显示 正在处理 我总是必须按 取消 否则 Matlab 软件会变慢或冻结 我的编程课上似乎没有其他人对此有问题 我正在使用 MATLAB R2015b 我可以
  • DocumentDb:没有索引的查询

    当从索引中排除所有路径时 为什么我仍然能够对 ID 以外的字段执行成功的查询 排除所有路径 collection IndexingPolicy ExcludedPaths Add new ExcludedPath Path Query SE
  • 如何从 GCM 获取 Canonical ID

    我正在尝试为我的设备获取唯一的 ID 以便我可以从我的服务器获取推送通知 正如所有教程所说 我使用 GMC 注册 GoogleCloudMessaging gcm GoogleCloudMessaging getInstance conte
  • 数组引用绑定与使用模板的数组到指针转换

    由于重载解析不明确 此代码示例无法编译 void g char t 4 void g char t int main char a 123 g a 仔细阅读重载解析规则可以清楚为什么失败 这里没有问题 如果我们正式将其改造为模板版本 tem
  • 使用IntelliJ作为git mergetool总是一启动就退出

    我已经将 IntelliJ 配置为我的 mac 上的 diff 和 mergetool 但是 git 启动它 命令行总是立即返回 而不是等待 diff 完成 这意味着所执行的更改不会反映在磁盘上 我的配置是 mergetool intell
  • 如何在 MigLayout 中获得一个向右对齐的按钮

    我正在使用 Miglayout 向面板添加一个按钮 并尝试我可能做的事情 但我无法让它转到面板的右端 它坚持向左齐平 奇怪的是 该演示在示例中有点简短 它仅在同一面板上的其他按钮的上下文中显示它 我有一个这样的面板 dialog gt co
  • 如何在 Core Graphics / Quartz 2D 中绘制圆角矩形?

    我需要绘制圆角矩形的轮廓 我知道我可以制作直线和圆弧 但也许还有圆角矩形的功能 您可以使用 UIBezierPath bezierPathWithRoundedRect cornerRadius or UIBezierPath bezier
  • unity3d 和 git 子模块可能吗?

    太长了 这将是一篇冗长的文章 但我相信许多 unity3d 开发人员也遇到了和我一样的问题 这个问题需要一个明确 一劳永逸的答案来拯救我们的集体理智 所以在过去的两年多里我一直在使用 git 但我并没有深入研究它 我可以从 bitbucke
  • UISearchBar inputAccessoryView

    The UISearchBar似乎有inputAccessoryView as a readOnly财产 如何使用我自己的 customToolbar 设置它 Edit 正如下面的评论中提到的 这不再是 iOS 6 后的问题 请参阅UISe
  • 流式传输 okhttp 响应正文

    我正在实施一个服务器发送的事件 http www w3schools com html html5 serversentevents asp使用 OkHttp 的库 服务器发送事件的工作原理是与服务器保持开放的 HTTP 连接 在服务器上
  • C++ 迭代具有混合字符长度的 utf-8 字符串

    我需要循环 utf 8 字符串并获取该字符串的每个字符 字符串中可能有不同类型的字符 例如一字节长度的数字 三字节长度的汉字等 我看了这个post https stackoverflow com questions 2852895 c it
  • git reset --soft 并返回到最新的提交

    所以我只是做了一个 git reset soft 来返回到之前的提交 现在 如果我想返回到之前的最新提交该怎么办 即 最新的提交 我尝试执行 git log 但那里列出的提交没有最新的提交 git reset如果您只想返回并查看旧的提交 那
  • 如果使用 Debug dll,服务不会及时响应启动或控制请求

    我试图在我的计算机上部署 Windows 服务 但是当我尝试启动它时出现以下错误 Windows 无法在本地计算机上启动 myService 错误 1053 该服务未及时响应启动或控制请求 经过一番研究后 我发现我正在使用 调试 选项来编译
  • java中将十六进制数字字符串转换为双精度数字

    java中如何将十六进制数字字符串转换为双精度数字 在 matlab 中很简单 gt gt hex2num c0399999a0000000 ans 25 6000 但我也可以在java中做同样的事情吗 我尝试了 parseInt 但这个数