您的位置:程序门 -> .net技术 -> c#



浮点数与十六进制数如何互相转换.


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


浮点数与十六进制数如何互相转换.[已结贴,结贴人:wenzuodan]
发表于:2007-02-14 09:43:41 楼主
浮点数与十六进制数如何互相转换.
发表于:2007-02-14 09:46:251楼 得分:16
float   f   =   123.456;
string   s   =   bitconverter.tostring(bitconverter.getbytes(f)).replace( "- ", " ");
发表于:2007-02-14 09:49:542楼 得分:0
怎么样将生成的十六进制数转回浮点数
发表于:2007-02-14 09:51:063楼 得分:0
//转回浮点数
int   len   =   s.length+1/2
byte[]   arr   =   new   byte[len]
for(int   i=0;i <len;i++)
{
        arr[i]   =   convert.tobyte(s.substring(i*2,2),16);
}
float   f1   =   bitconverter.tosingle(arr);
发表于:2007-02-14 09:53:364楼 得分:0
有错,改一下

//转回浮点数
int   len   =   s.length/2
byte[]   arr   =   new   byte[len]
for(int   i=0;i <len;i++)
{
        arr[i]   =   convert.tobyte(s.substring(i*2,2),16);
}
发表于:2007-02-14 09:54:285楼 得分:0
//转回浮点数
int   len   =   s.length/2
byte[]   arr   =   new   byte[len]
for(int   i=0;i <len;i++)
{
        arr[i]   =   convert.tobyte(s.substring(i*2,2),16);
}
float   f1   =   bitconverter.tosingle(arr);
发表于:2007-02-14 10:15:166楼 得分:0
float   f1   =   bitconverter.tosingle(arr);
报错,重载tosingle方法未获取 "1 "参数.
发表于:2007-02-14 10:31:467楼 得分:0
arr[i]   =   convert.tobyte(s.substring(i*2,2),16);这句话可能还需要修改.
谢谢viena
发表于:2007-02-14 10:35:568楼 得分:0
float   f1   =   bitconverter.tosingle(arr,0);
发表于:2007-02-14 10:39:209楼 得分:0
float   f   =   1.2;
string   s   =   bitconverter.tostring(bitconverter.getbytes(f)).replace( "- ", " ");
  生成的数为9a   99   99   3f
arr[i]   =   convert.tobyte(s.substring(i*2,2),16);可能是这句话没通过.
发表于:2007-02-14 10:46:5110楼 得分:0
up
发表于:2007-02-14 11:07:3711楼 得分:4
//贴到这个份上,无语

float   f   =   1.2f;
string   s   =   bitconverter.tostring(bitconverter.getbytes(f)).replace( "- ",   " ");

//s   =   s.replace( "   ",   " ");//如果中间有空格
byte[]   arr   =   new   byte[s.length   /   2];
for   (int   i   =   0;   i   <   s.length   /   2;   i++)
        arr[i]   =   convert.tobyte(s.substring(i   *   2,   2),   16);
float   f1   =   bitconverter.tosingle(arr,   0);
text   =   f1.tostring();


快速检索

最新资讯
热门点击