IBM 到 IEEE 浮点转换

2023-11-21

java中是否有任何标准方法可以将IBM 370(以字节形式)转换为IEEE格式?任何转换算法都会有所帮助..

我尝试编写java代码..但我不明白我哪里出错了。当我将输入指定为 -2.000000000000000E+02 时,我得到的值为 IEEE 格式的 -140.0。在其他情况下,当我输入 3.140000000000000E+00 时,我得到的值为 IEEE 格式的 3.1712502374909226 对此的任何帮助将不胜感激

private void conversion() {
    byte[] buffer = //bytes to be read(8 bytes);
    int sign = (buffer[0] & 0x80);
    // Extract exponent.
    int exp = ((buffer[0] & 0x7f) - 64) * 4 - 1;
    //Normalize the mantissa.
    for (int i = 0; i < 4; i++) {//since 4 bits per hex digit
        if ((buffer[1] & 0x80) == 0) {
            buffer = leftShift(buffer);
            exp = exp - 1;
        }
    }

    // Put sign and mantissa back in 8-byte number
    buffer = rightShift(buffer);// make room for longer exponent
    buffer = rightShift(buffer);
    buffer = rightShift(buffer);
    exp = exp + 1023;//Excess 1023 format
    int temp = exp & 0x0f;//Low 4 bits go into B(1)
    buffer[1]= (byte)((buffer[1]&0xf) | (temp *16));
    buffer[0]= (byte)(sign | ((exp/16) & 0x7f));
    }

     private byte[] rightShift(byte[] buf) {
    int newCarry = 0;
    int oldCarry = 0;
    for(int i = 1; i<buf.length; i++) {
        newCarry = buf[i] & 1;
        buf[i] = (byte)((buf[i] & 0xFE)/2 + (oldCarry != 0 ? 0x80 : 0));
        oldCarry = newCarry;
    }
    return buf;
}

private byte[] leftShift(byte[] buf) {
    int newCarry = 0;
    int oldCarry = 0;
    for(int i = buf.length-1; i>0; i--) {
        newCarry = buf[i] & 1;
        buf[i] = (byte)((buf[i] & 0x7F)*2 + (oldCarry != 0 ? 1 : 0));
        oldCarry = newCarry;
    }   
    return buf;
}

对于你的问题,我可以看到几种不同的解决方案:

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

IBM 到 IEEE 浮点转换 的相关文章

  • Twitter4j - 超出速率限制

    我想让追随者使用getFollowersIds 在 Twitter4j 中 但我得到 连接错误异常 超过限速 public static void main String args try Twitter twitter TwitterFa
  • 仅使用 onBackPressureLatest() 消耗最新项目

    我有一个定期发出物品的生产者和一个有时非常慢的消费者 重要的是 消费者只使用最近的商品 我认为 onBackPressureLatest 是这个问题的完美解决方案 于是我写了如下测试代码 PublishProcessor
  • 如何在servlet 3.0的web.xml-less中定义

    我有现有的 web 应用程序 我想将其转换为 servlet 3 0 的 web xml less 我已经设法让它工作 但是 web xml 中有 2 个标签 我仍然不知道无 web xml 环境中的等效代码
  • Play 2.4,错误:包play.*不存在

    我想开始使用 play 框架 2 4 4 并想遵循教程 我正在关注这个 YouTube 视频 https www youtube com watch v bLrmnjPQsZc从他们的网站 使用 play java 模板并将其导入 Inte
  • 测试前设置TestNG的输出目录

    我正在使用 Eclipse 运行一些 TestNG 测试 使用 XML 文件 右键单击 作为 TestNG 套件运行 我仅将 Maven 用于依赖项 而不用于运行测试 有没有办法在代码中设置输出目录 例如 System out printl
  • Groovy 中的显式输入:有时还是从不?

    后来 仍然无法弄清楚 Groovy 是否具有静态类型 似乎没有 或者使用显式类型生成的字节码是否不同 似乎是 无论如何 回答这个问题 One of the main differences between Groovy and other
  • Android NDK链接器路径错误

    我目前正在处理一个使用共享库的 NDK 项目 我有两个共享库要集成 libsatprotocol so 和 libsat tanca so 所以我将这些库添加到我的 Android mk 中 这样我就可以制作一个包装器 对于 libsatp
  • 如何使用流从两个列表或数组乘法中查找元素对

    我有两个数字列表 我想找到所有可能的数字对 例如 给定列表 1 2 3 and 3 4 结果应该是 1 3 1 4 2 3 2 4 3 3 3 4 我知道我可以使用for loop但有没有更简洁的方法来使用Java 8 流 我尝试了以下操作
  • 您无权访问此服务器上的 /schema/beans/spring-beans-3.1.xsd

    我在我的一个应用程序中使用 spring 框架 到目前为止一切正常 但是今天早上 当我尝试运行我的应用程序时 它抛出错误 因为无法初始化 spring 框架 因此 我尝试在浏览器中加载 xsd 文件 但徒劳无功 因为它向我显示了禁止的页面
  • 如何使用 spring data jpa 调用数据库函数?

    我想从 Spring Boot 应用程序调用数据库函数 该函数将返回解密的值 是否可以使用spring data jpa调用数据库函数 如果可以的话怎么办 如果无法使用 spring data jpa 是否有其他方法可以从 Spring B
  • 使用带有 OnException 定义的adviceWith进行Camel路由测试

    我有一个非常简单的 Camel 路由定义 其中只包含一些 OnException 谓词来处理相应的异常和一些日志语句 from hazelcast seda someQueue id someQueueID onException Cust
  • Retrofit 2.0b2:如何从响应中获取InputStream?

    我正在使用 Retrofit 2 0b2 收到响应后 我尝试通过以下方式从响应中获取 InputStream Response
  • gwt rpc 中的会话 ID cookie

    假设我正在滚动自己的会话代码 那么在 java 中生成唯一且安全的会话 id cookie 的正确方法是什么 我不应该自己推出而是使用已经标准化的东西吗 我正在使用 gwt 和 google app engine 平台 如何使会话在浏览器
  • Java字符串模式识别

    我有一个大约一千个字符长的字符串 由 L T 和 A 组成 我很确定其中有一个简单的模式 我想知道是否有任何快速简便的方法可以找到它 该字符串会发生变化 因此这不仅仅是一次性的 我正在寻找的模式例如如果字符串是 LLLLLLLLAATAAL
  • 如何让按钮打开

    我有一个问题 当用户单击 发送 按钮时 我需要将电子邮件发送到我的按钮 我只想到达那里 当用户单击发送按钮时 该按钮已经知道我的电子邮件地址并自动将其发送到那里的电子邮件 到目前为止 我的电子邮件活动 java import android
  • 亚马逊 AWS Java API。我看不到我的 AMI

    我正在使用 Amazon AWS 的 Java API 我成功进行了身份验证 然后获取了所有图像 但我的图像不在其中 我的 AMI 是私有的 但我想自从我经过身份验证后我仍然会看到它们 这是我的来源 final AmazonEC2 clie
  • 使用Java在数组中查找子字符串索引

    我想使用 Java 从字符数组中返回用户输入子字符串的索引 该数组被初始化 打乱 然后进行搜索 我对此很陌生 尝试了两种不同的方法但没有成功 我在忽略什么 提前致谢 方法一 import java lang Math import java
  • Protobuf RPC 在 Hadoop 2.2.0 单节点服务器上不可用?

    我正在尝试在按照本教程安装的本地单节点集群上运行 hadoop 2 2 0 mapreduce 作业 http codesfusion blogspot co at 2013 10 setup hadoop 2x 220 on ubuntu
  • Json 对象 - 获取键和值

    我是 JSON 的新手 所以 如果这是一个非常基本的疑问 请不要责骂我 我有一个 JSON 对象引用 我想获取 Key 对象只有一个键值对 我如何在 Java 中获得它 您可以使用jsonObject keys 获取所有钥匙 然后您可以迭代
  • java:抛出 RuntimeException [重复]

    这个问题在这里已经有答案了 下面这一项如何正确 我希望编译器告诉我使用throws Exception or throws RuntimeException public void method1 throws NullPointerExc

随机推荐

  • 调试 IIS 中托管的 asp.net WCF 服务

    我使用以下模板创建了 WCF 服务 http visualstudiogallery msdn microsoft com fbc7e5c1 a0d2 41bd 9d7b e54c845394cd 该服务有一个这样的方法 ServiceCo
  • 缩小图像以适合 ScrollViewer 尺寸

    我在相应地缩放图像时遇到了一些问题 我有一个Image在我的 XAML 中 带有ScrollViewer附加以便可以缩放 像这样
  • heroku:bash:捆绑:找不到命令

    我正在按照他们的说明将 Heroku 应用程序从 Aspen 移植到 Heroku 的 Cedar 堆栈 我正在进行最后的部署步骤 我收到此错误 2012 10 22T11 23 53 00 00 heroku web 1 Starting
  • 安全与不安全代码

    Read 这个问题今天关于安全和不安全的代码 然后我在MSDN但我还是不明白 为什么要在 C 中使用指针 这纯粹是为了速度吗 使用不安全代码有以下三个原因 API 如 John 所言 获取数据的实际内存地址 例如访问内存映射硬件 访问和修改
  • 用JS获取元素CSS3背景色渐变

    目前 我使用以下 JS jQuery 来查找其他几个 div 的背景颜色 作为 rgb theColor this css background color 除了 CSS3 渐变之外 它工作得很好 作为示例 我使用以下 css 使 div
  • TypeError: $(...).modal 不是带有 bootstrap Modal 的函数

    我有一个 bootstrap 2 32 模式 我试图将其动态插入到另一个视图的 HTML 中 我正在使用 Codeigniter 2 1 下列的将引导模式部分视图动态插入视图中 我有 div div 作为插入的目标 div 我的视图中有一个
  • Tomcat 上的 Cobertura

    我正在尝试使用 Cobertura 应用代码覆盖率 该应用程序是 部署在 Tomcat 5 中 但是当我检测 class 文件时 应用程序停止工作 这是我的步骤 编译应用程序 在 tomcat 中运行 检测类文件 D test cobert
  • GIT:提交时文件中有当前提交哈希和最新标签

    这可能更多是一个技术问题 我使用 git 进行版本控制 并使用 rsync 将 PHP CMS 的文件发送到测试或生产站点 现在我想使用一个万无一失的自动化系统来跟踪当前部署的提交 我在想 设置 git hook 以使用最新标签添加 更新文
  • python byRef // 复制 [重复]

    这个问题在这里已经有答案了 我是Python新手 而且对编程不太了解 但我记得读过Python通常不会复制值 因此任何语句a b都会使b指向a 如果我跑 a 1 b a a 2 print b 给出结果 1 那不应该是 2 吗 不 结果应该
  • 如何将从 rospy.Subscriber 数据获得的数据输入到变量中?

    我写了一个示例订阅者 我想将从 rospy Subscriber 获得的数据提供给另一个变量 以便稍后在程序中使用它进行处理 目前 我可以看到订阅者正在运行 因为当我使用 rospy loginfo 函数时 我可以看到打印的订阅值 虽然我不
  • 如何使用JNI android获取应用程序包名称或applicationId

    对于共享库的保护问题 我会尝试使用JNI获取包名称 但它会出错 那么 是否可以使用JNI获取包名称或applicationId呢 如果有人有这个问题的例子或参考 那么建议 因为没有任何好的教程或解决方案可用 否则任何其他方式建议保护共享库
  • Maven 检查所有依赖项是否已释放

    作为我的发布过程的一部分 我使用mvn versions use releases目标是用已发布的版本替换所有 SNAPSHOT 依赖项 之后 我想检查所有 SNAPSHOT 依赖项是否已被版本替换 Question 怎么查呢 我知道 ma
  • SpringBoot 与 LogBack 创建 LOG_FILE_IS_UNDEFINED 文件夹

    我将 SpringBoot 与 LogBack 结合使用 并尝试将一个特定包 此处显示为 com example somepackagename 的所有日志语句定向到一个文件 所有其他日志语句应发送至标准输出 最初遇到的问题是在启动过程中创
  • printf:这安全吗?

    我只是想知道这个表达式是否安全 int main void char my tab 256 memset my tab 0x61 sizeof my tab printf Is it safe 256s my tab is it safe
  • 如何动态更新Assemblyinfo.cs中的值

    我编写了一个从 SVN 存储库获取值的程序 现在我想用该值更新 AssemblyFileversion 由于我无法在 Assemblyinfo cs 中编写任何代码 我将如何更新 AssemblyFileVersion 的值 我想实现这样的
  • 强制刷新缓存的 CSS 数据

    是否可以强制浏览器刷新缓存的CSS 这并不像每个请求那么简单 我们有一个网站 它的 CSS 已经稳定了一段时间了 现在我们需要对 CSS 进行一些重大更新 但是 缓存了 CSS 的浏览器在几天内不会收到新的 CSS 从而导致渲染问题 有没有
  • bash 脚本中 $@ 和 $* 的区别[重复]

    这个问题在这里已经有答案了 我是 bash 的新手 正在学习它 我对使用之间的真正区别有疑问 and S 我这里红了Bash 特殊参数 我知道两者都扩展为位置参数 但差异发生在双引号内 顺便一提 1 2 n 可能不同于 S 1 2 n 我尝
  • 在可视模式下将数据粘贴到行首

    我可以使用选择行SHIFT V 然后使用上下左右键选择行 然后使用复制它们y 猛拉它们 并使用粘贴它们p put 我可以类似地使用选择数据块CTRL V 然后使用上下左右键选择行 然后使用复制它们y 猛拉它们 并使用粘贴它们p put 但是
  • 如何链接多个 fetch() 承诺?

    以下代码获取 json 列表 然后对每个列表项执行另一个 fetch 调用以更改其值 问题是它不是同步完成的 new 在 update 之前打印到控制台 fetch API URL DIARY then response gt respon
  • IBM 到 IEEE 浮点转换

    java中是否有任何标准方法可以将IBM 370 以字节形式 转换为IEEE格式 任何转换算法都会有所帮助 我尝试编写java代码 但我不明白我哪里出错了 当我将输入指定为 2 000000000000000E 02 时 我得到的值为 IE