如果要将双精度转换为64位,可以使用long Double.doubleToLongBits(double value)和double Double.longBitsToDouble(long bits)将其转换回.

如果要将32位值转换为Float值并返回,则相应的函数为floatToIntBits(…)和intBitsToFloat(…).

对于双精度到32位,我将使用两步转换,首先转换为浮点数:

double val = ...;

int bits = Float.floatToIntBits( (float) val );

然后回来:

int bits = ...;

double val = (double) Float.intBitsToFloat(bits);

直接打包和解包到缓冲区:

ByteArrayOutputStream baos = new ByteArrayOutputStream(20);

DataOutputStream dos = new DataOutputStream( ... );

dos.writeFloat( altitude );

dos.writeFloat( max_temperature );

dos.writeFloat( longitude );

dos.writeFloat( latitude );

dos.writeFloat( average_acceleration);

byte[] data = baos.toByteArray();

当然,这将创建一个20字节的缓冲区(5 x 32位浮点数),而不是12字节的缓冲区,因此您需要弄清楚哪些值需要为32位,以及哪些值可以填充到较小的空间中.

打开包装,使用DataInputStream和readFloat().

ByteArrayInputStream bais = ...

DataInputStream dis = new DataInputStream(bais);

altitude = dis.readFloat();

max_temperature = dis.readFloat();

...etc...

java writedouble_java-将double转换为32位表示形式(以及相反的...相关推荐

  1. 将一个整数转换为32位数据(java实现)

    将一个整数转换为32位数据(java实现) 将一个整数转换为二进制数据并且打印出来,都知道计算机底层使用32为数据来存储数据的.那么如何将一个整数通过代码的形式打印出来. 首先肯定需要用到位运算.通过 ...

  2. 整型转换为32位二进制字符串

    记录下整型转换为32位二进制字符串的两种方式. 一.返回string 类型 char digits[] = {'0','1','2','3','4','5','6','7','8','9','a',' ...

  3. win10 计算机32位转64位,win1064位能改成32位吗_怎样把win10 64位转换为32位系统

    通常电脑如果是内存4G以上的话,都会安装64位系统,如果内存太小的话安装64位系统可能会出现卡顿的情况,有win1064位系统用户发现电脑配置低,运行又很卡,就想要改成32位系,不知道win1064位 ...

  4. 十进制点分IP转换为32位二进制IP

    十进制点分IP转换为32位二进制IP #include<iostream> using namespace std; int main() {char ch[33];char s[100] ...

  5. C++ 十进制点分IP转换为32位二进制IP

    题目内容: 编写程序,将十进制点分的IP转换为32位二进制IP地址.程序要能验证输入的十进制点分IP地址的合法性.用户输入的IP不和法时,输出"data error". 请使用模块 ...

  6. 十进制点分IP转换为32位二进制IP(C++)

    题目详情 编写程序,将十进制点分的IP转换为32位二进制IP地址.程序要能验证输入的十进制点分IP地址的合法性.用户输入的IP不和法时,输出"data error". 请使用模块化 ...

  7. java总结:double取两位小数的多种方法

    1.方法一四舍五入:import java.math.BigDecimal;double f = 111231.5585; BigDecimal b = new BigDecimal(f); doub ...

  8. php 整数转换为32 位,PHP哈希函数返回一个整数(32位int)(PHP hashing function that returns an integer (32bit int))...

    PHP哈希函数返回一个整数(32位int)(PHP hashing function that returns an integer (32bit int)) 目标是使用INT(不是BIGINT或ME ...

  9. 【Java】Java 对象头 真的是 32位 吗?

    1.概述 HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域: 对象头(Header) 实例数据(Instance Data) 对齐填充(Padding). 是真的吗?假的! 假的!!! ...

  10. android double转string_如何使用Java程序将Double转换为String

    在Java中将String转换为Double 至少有三种方法可以将表示double值的String 转换为Double对象.可能还有多种方法可以做同样的事情,如果你了解此处还有未列出的其他转换方法,请 ...

最新文章

  1. FZU 1686 神龙的难题(DLX反复覆盖)
  2. python自带的url提取器
  3. 第六篇:如何学习C语言?
  4. C# webservice调用方法总结
  5. VB 域名转换IP地址函数
  6. DiskImage磁盘镜像工具下载使用手册
  7. mac拷贝文件到u盘,mac拷贝文件到u盘很慢
  8. python beautifulsoup库下载_python之Beautiful Soup库
  9. python网络爬虫学习的汇总
  10. leetcode 714. 买卖股票的最佳时机含手续费(java)
  11. HDU1273漫步森林
  12. Android 自定义控件玩转字体变色 打造炫酷ViewPager指示器
  13. 神经网络学习----如何利用训练好的神经网络模型进行预测
  14. 西门子携手太古可口可乐打造饮料行业数字化标杆
  15. 大数据技术和云计算之间,主要有什么关系?
  16. NB-IoT和LoRa在电力无线专网中的应用
  17. 从服务端下载文件到本地windows
  18. 摄影测量--各种坐标系的总结
  19. excel打开2个独立窗口_在716团队学习2个月了,我的感受:有成长,有震撼,为我打开了一扇门...
  20. 使用golang iris框架写了一个PDF电子书分享网站 免费给大家提供PDF电子书下载啦

热门文章

  1. 论文赏析[ACL17]一个最小化的基于跨度的神经句法分析器
  2. 深度学习TF—9.循环神经网络RNN及其变体GRU、LSTM
  3. numpy - np.asarray
  4. 书单丨724运维日,为运维人干杯
  5. 豆瓣评分9.3的经典Kubernetes图书推出中文版,学习K8S更方便了
  6. 什么是依赖,什么是抽象
  7. Scikit-learn:最近邻搜索sklearn.neighbors
  8. 矩阵论、组合数学基础
  9. 海量数据挖掘MMDS week1: Link Analysis - PageRank
  10. Miccai2019 oral简单总结