如何将16进制数转换为浮点数? 16进制数,如: 40 A0 24 76 转换为浮点数,求救! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string s="40A02476"; float f=float.Parse(s,System.Globalization.NumberStyles.AllowHexSpecifier);MessageBox.Show(f.ToString()); string s="40A02476"; 存在问题 float f=(float)0x40A02476; 跟你得结果差别很打啊 给一段非安全的代码float f = 0F;string s="7624a040"; //要倒过来int i = float.Parse(s,System.Globalization.NumberStyles.AllowHexSpecifier);*(int *)(&f) = i; //这是非安全代码,要用非安全模式编译。还有一个办法比较麻烦,就是用代码分析。float共有32位二进制数,第一位表示符号,接下来的四位表示次幂,其它位为有效数字,好象叫IEEE浮点数标准。 unsafe float ConvertFromInt(int i) { float f=0; *(int *)(&f) = i; return f; } 给一段非安全的代码float f = 0F;string s="7624a040"; //要倒过来int i = float.Parse(s,System.Globalization.NumberStyles.AllowHexSpecifier);*(int *)(&f) = i; //这是非安全代码,要用非安全模式编译。 int i = float.Parse(s,System.Globalization.NumberStyles.AllowHexSpecifier);这句话有问题,无法编译的!在C#中有没有实现的代码? 用楼上的方法可以,编译的时候将项目编译属性"允许不安全代码块"设置为true:string s="40A02476";int i=int.Parse(s,System.Globalization.NumberStyles.AllowHexSpecifier);float f=ConvertFromInt(i);MessageBox.Show(f.ToString());//5.004451unsafe float ConvertFromInt(int i){ float f=0; *(int *)(&f) = i; return f;} 这样试一下:string ceshi="40A02476";int ll=Convert.ToInt32(ceshi,16);float ff=(float)ll; 目前,我也存在这样的问题,我想将一个16进制表示的字符串转换为浮点型(double),不知道怎么转换了:string str="0x40A02476";double=Double.Parse(str1)报错,说str格式不正确,哪位高人指点一下啊! Java与C#序列化Serializable问题 c#在自定义类的给窗体控件赋值问题 为什么Vs2010里面不支持bringtofront() 想问两个基本的问题,希望大家帮帮忙 控件的简单控制问题 困扰我多日的正则表达式问题 用TC做一个类似WINDOWS那样的画板谁能帮帮说下? 很郁闷啊!!大家进来看看,谁解决问题了要多少分都给阿,进者都有分! 怎样画一个椭圆的button? 在c#中怎样使用DATAGRID这个控件浏览SQL SERVER中的数据。 求助:将16进制0x3a如何转化为字符串'0x3a' 一个字符串解析的问题 在线等待 对了就送分 读取OdbcDataReader的问题?
float f=float.Parse(s,System.Globalization.NumberStyles.AllowHexSpecifier);
MessageBox.Show(f.ToString());
跟你得结果差别很打啊
float f = 0F;
string s="7624a040"; //要倒过来
int i = float.Parse(s,System.Globalization.NumberStyles.AllowHexSpecifier);
*(int *)(&f) = i; //这是非安全代码,要用非安全模式编译。还有一个办法比较麻烦,就是用代码分析。float共有32位二进制数,第一位表示符号,接下来的四位表示次幂,其它位为有效数字,好象叫IEEE浮点数标准。
{
float f=0;
*(int *)(&f) = i;
return f;
}
float f = 0F;
string s="7624a040"; //要倒过来
int i = float.Parse(s,System.Globalization.NumberStyles.AllowHexSpecifier);
*(int *)(&f) = i; //这是非安全代码,要用非安全模式编译。
int i = float.Parse(s,System.Globalization.NumberStyles.AllowHexSpecifier);这句话有问题,无法编译的!在C#中有没有实现的代码?
int i=int.Parse(s,System.Globalization.NumberStyles.AllowHexSpecifier);
float f=ConvertFromInt(i);
MessageBox.Show(f.ToString());//5.004451unsafe float ConvertFromInt(int i)
{
float f=0;
*(int *)(&f) = i;
return f;
}
string ceshi="40A02476";
int ll=Convert.ToInt32(ceshi,16);
float ff=(float)ll;
double=Double.Parse(str1)报错,说str格式不正确,哪位高人指点一下啊!