有哪位高人知道怎么将16进制表示的float64数据转换为10进制数据

问题描述

有哪位高人知道怎么将16进制表示的float64数据转换为10进制数据,我看到有人说“16进制:41F075D841873600转换后是:16.9013671875(十进制)”请问怎么转啊,帮我看看,以3fe36614aadabcc9为例,转出来是多少?

解决方案

解决方案二:
41F075D841873600==4751427178548639232用计算器
解决方案三:
??16进制:41F075D841873600byte[]bs={0x00,0x36,0x87,0x41};//<---floatvalue=BitConverter.ToSingle(bs,0);//value=16.9013671875//byte[]bs={0x3f,0xe3,0x66,0x14,0xaa,0xda,0xbc,0xc9};//doublevalue=BitConverter.ToDouble(bs,0);

解决方案四:
如果是整型这很好转换,但是浮点型,很难转,不同的计算机,不同的语言,转出来的值都有可能不一样,最好的办法就是3fe36614aadabcc9以位操作的方式,设置float64的原型二进制值,然后再输出这个类型的变量的值floats=0;s|=0xFFFFFFFFFFFFFFFF;s&=0x3fe36614aadabcc9;然后输出s的值,这样就可以实现转换了

解决方案五:
引用2楼gomoku的回复:

??16进制:41F075D841873600C#codebyte[]bs={0x00,0x36,0x87,0x41};//<---floatvalue=BitConverter.ToSingle(bs,0);//value=16.9013671875//byte[]bs={0x3f,0xe3,0x66,0x14,0xaa,0xda,0xbc,0xc9};//doublevalue=BitConverter.ToDouble(bs,0);

用bitConvert可以满足你的要求了~
解决方案六:
引用2楼gomoku的回复:

??16进制: 41F075D841873600C#codebyte[]bs={0x00,0x36,0x87,0x41};//<---floatvalue=BitConverter.ToSingle(bs,0);//value=16.9013671875//byte[]bs={0x3f,0xe3,0x66,0x14,0xaa,0xda,0xbc,0xc9};//doublevalue=BitConverter.ToDouble(bs,0);


解决方案七:
转成二进制,再转十进制

时间: 2024-08-22 14:07:16

有哪位高人知道怎么将16进制表示的float64数据转换为10进制数据的相关文章

C# 16进制带符号的浮点数怎么转换为10进制

问题描述 下位机发来的4个字节的16进制浮点数怎么用c#转换成10进制的显示 解决方案 解决方案二:4个字节的16进制浮点数是如何存储的?不是按照浮点数存储的?如果是,那么直接用float接收就好了啊,根本就不需要转换.不管是16进制还是10进制,只要储存方法一致,字节应该是一样的啊解决方案三:floatf=BitConverter.ToSingle(bytes,0);解决方案四:引用2楼Libby1984的回复: floatf=BitConverter.ToSingle(bytes,0); 例

16进制的正数为何显示为10进制数之后就为负数,如何使他总为正数,在线等!!大神,我很急!!

问题描述 16进制的正数为何显示为10进制数之后就为负数,如何使他总为正数,在线等!!大神,我很急!! 如下就是读取NFC标签数据的代码,并在调试窗口将读出的数据显示出来 我的问题是:NFC里面的数据本来就全是正数,但是读取出来后在电脑端显示却为负数,(我猜测是不是,在NFC里面的数全是16进制的,然后手机端读取出来后显示为10进制的数时,出现编码错误,从而导致变为负数了)那么如何将读取出的数据全部显示为正数,求大神赐教,在线等,急!! byte[] result = tagUtil.readA

SQL SERVER 16进制与10进制转换

最近工控项目中遇到的16进制与10进制转换,在.NET中比较容易实现,在SQLSERVER中发现没有直接 的转换,尤其是出现超出范围的long负数,即无符号64位整数在sqlserver中的存储.网上找的很多方法 只适用于32位整数和64位正整数,64位负数无法实现,现将使用的转换方法记录下来. 利用SQLSERVER中的varbinary来间接实现. 16进制字符串转10进制bigint(0-FFFFFFFFFFFFFFFF): 由于二进制比较容易转换为bigint 所以先将字符串转为二进制v

SQLSERVER 16进制与10进制转换

原文 SQLSERVER 16进制与10进制转换 最近工控项目中遇到的16进制与10进制转换,在.NET中比较容易实现,在SQLSERVER中发现没有直接的转换,尤其是出现超出范围的long负数,即无符号64位整数在sqlserver中的存储.网上找的很多方法只适用于32位整数和64位正整数,64位负数无法实现,现将使用的转换方法记录下来. 利用SQLSERVER中的varbinary来间接实现. 16进制字符串转10进制bigint(0-FFFFFFFFFFFFFFFF): 由于二进制比较容易

string-c++16进制转10进制问题

问题描述 c++16进制转10进制问题 我用string存储了输入的一个16进制数,现在要把它转换为10进制输出,除了用数位乘上权值之外还有什么方法办到这一点吗? 另外,16进制用int 储存吗?如果可以需要什么语句呢? 解决方案 给你说两个函数,都可以解决这个问题 1.sscanf(str,"%x",&iNum) 2.iNum = strtol(str,**p,16); 你可以查查资料,这两个函数都可以把十六进制的字符串转换成十进制数据: 另外十六进制可以用int存储,只不过

哪位高人给个点击按钮就能发送邮件的代码

问题描述 在iis中已经装了邮件服务器,求助哪位高人给个自动发送邮件的代码,比如邮箱url:http://email.163.com/用户名:123密码:123主题:123内容:123在自己写的页面,点击下按钮就能发生邮件.在此谢过! 解决方案 解决方案二: 解决方案三: 解决方案四: 解决方案五: 解决方案六:a哪位高人给写一个一键上网的软件?b行啊,看看这个代码?a真的这么好么?那我不用向电信交费了啊?b这个不行...明白了么?要想成功发送邮件,必须满足以下条件:(1)互联网本身正常(2)S

进制转换-16进制转化为10进制问题

问题描述 16进制转化为10进制问题 16进制 (单字) fbb4 转化为10进制结果是 -1100 ,但 如果 是这样的,就转化 为10进制的就变成 64436了,请问一下这是什么原因?另外 ,我在网上查了一下,大都的转化的结果 都是64436,可我想要的结果 是-1100,请问这个要怎么算出来 解决方案 fbb4 变成二进制是 1111 1011 1011 0100 再计算规则上取后面1个半字节, 也就是 1011 1011 0100 就是你想要的结果-1100 解决方案二: 你应该是用那种

16进制字符--&amp;gt;10进制数字

方法1: view plaincopy to clipboardprint?#include <stdio.h>     int main()   {       char   szValue[]  =   "0x11";          int    nValude    =   0;              sscanf(szValue,"%x",&nValude);          printf("%d/n",nV

asp.net(c#)下各种进制间的轻松转换(2进制、8进制、10进制、16进制)

其中的两个方法可以轻松的实现各种进制的数值间的转换: Convert.ToInt32(string value, int fromBase): 可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2.8.10及16: 如Convert.ToInt32("0010",2)执行的结果为2; Convert.ToString(int value, int toBase): 可以把一个数字转换为不同进制数值的字符串格式,其中toBase参数为进制的格式,只能是2.