精华内容
下载资源
问答
  • 浮点数转换器

    2018-08-14 08:54:36
    可将浮点数转换成十六进制数,如:3.14转成4048F5C3,方便快捷
  • 精度浮点数转换

    热门讨论 2013-08-19 17:24:54
    精度浮点数、单精度浮点数与十六进制,二进制之间可以进行任意转换
  • 浮点数转换工具

    2017-03-10 15:24:35
    支持单精度、多精度浮点数与十六进制、十进制、二进制整数之间的转换
  • 单精度精度浮点数转换

    热门讨论 2013-05-02 12:36:32
    单精度精度浮点数转换,浮点数与16进制转换工具
  • 浮点数转十六进制转换器,包含32位、64位浮点数的转换和10进制到16进制的转换。
  • 浮点数转换工具.zip

    2019-06-13 08:24:39
    8位16进制与浮点double的转换工具,可以将16进制浮点数转化为10进制小数; 可以将10进制小数转化为16进制浮点数
  • VB小工具,免费使用,实现float数据与四字节数据相互转化以及Double数据与八字节数据相互转化。
  • 单、精度浮点数与16进制相互转换,文档中已列出相应函数,可直接调用。
  • 浮点数转换工具.rar

    2020-08-07 15:25:18
    浮点数转换工具,非常好用。比较简单吧,解压就可以用,不用安装。方便程序测试开发验证,小巧稳定,一直在用
  • Qt写的IEEE754浮点数与十六进制数转换器。这是exe程序,没有网站在线转换的好,在没网的时候可以用这个
  • IEEE 754 格式转换工具, 十六进制 与 精度浮点型 格式转换
  • 浮点数转换小工具

    2015-05-29 16:51:50
    之前做一个FPGA项目时用到了浮点数定点数转换的IP,最后验结果时...于是只能网上找浮点数转换工具,找了几个发现都不好用,不过有一个在线转换器还不错。之后空下来自己用LabVIEW编了一个简单的浮点数转实数的程序
  • 浮点数和十六进制数的相互转换,包括:1.单精度浮点数(32位)和十六进制数的相互转换,2.精度浮点数(64位)和十六进制数的相互转换
  • 绿色软件,免安装,解压即可使用。单精度浮点数转换工具
  • 该工具为单精度与精度的浮点转换成十进制,或者十进制转换为单精度或精度的工具,可以验证你的计算方法是否错误。
  • 输入十进制浮点数,可转换成IEEE-754标准的数据,也可以将IEEE-754标准的数据转换成十进制浮点数,非常好用的小工具
  • 浮点数整数转换工具

    2014-08-06 14:16:56
    浮点数整数转换工具,用于浮点数与整数之间相互转换
  • 因为做机械臂项目需要提取机械臂坐标,所以当初为了把64位精度浮点数转换为十六进制为可累死我了,看了挺多博客。但后来学长告诉我其实指针地址就是IEEE 754 16进制编码,C可以直接调用就不用写函数计算了,????...

    因为做机械臂项目需要提取机械臂坐标,所以当初为了把64位双精度浮点数转换为十六进制可累死我了,看了挺多博客。但后来学长告诉我其实指针地址就是IEEE 754 16进制编码,C可以直接调用就不用写函数计算了,😭还是自己见识少了。在此分享大家,避免跟我一样多花时间查找相关资料。

    原理可参考这里:IEEE 754 16进制编码转为64位双精度浮点数

    doubleToHex:
    #include<iostream>
    #include<stdio.h>
    using namespace std;
    int main()
    {
    	double x;
    	char str[16];
    	cout << "输入浮点数: ";
    	cin >> x;
    	sprintf(str, "%p", x);
    	cout << "十六进制编码:" << str << endl;
    }
    
    HexToDouble:

    找不到当时参考哪位大佬的了,在此谢谢大佬。我稍微把函数都封装成一个类。

    #include <iostream>
    #include <bitset>
    #include <cmath>
    #include <stdio.h>
    #include <string>
    using namespace std;
    
    class HexToDouble
    {
    public:
        static double putin(string temp1)
        {
            int i;
            string temp;
            temp = temp1;
            string S_Bin = "";//转化后的二进制字符串
        //cout<<temp.length()<<endl;//字符串长度16位
            for (int i = 0; i < temp.length(); i++)
            {
                char temp1 = temp[i];
                S_Bin = S_Bin + charToBin(temp1);//十六进制转二进制串
            }
    
            //  cout<<"转化后的二进制串 "<<S_Bin<<endl;//
            int sign = 0;//符号位
            if (S_Bin.at(0) == '1')//判断符号位
            {
                sign = 1;
            }
            string exponent = ""; //定义指数部分Exp
            for (i = 1; i < 12; i++)
            {
                if (S_Bin.at(i) == '1')
                {
                    exponent = exponent + '1';
                }
                else
                    exponent = exponent + '0';
            }
            int exponent_double = 0;//阶码
            exponent_double = stringToDouble(exponent);
            // cout<<"偏移位数 "<<exponent_double<<endl;
            exponent_double = exponent_double - 1023;//计算出偏移位数 ,64位双精度浮点数的偏置码为1023
           // cout<<"偏移位数 "<<exponent_double<<endl;
            string mantissa_temp = ""; //定义尾数部分Fraction
            for (i = 12; i < 64; i++)
            {
                if (S_Bin.at(i) == '1')
                {
                    mantissa_temp = mantissa_temp + '1';
                }
                else
                    mantissa_temp = mantissa_temp + '0';
            }
            double mantissa = 0;
            mantissa = BenToDex(mantissa_temp); //二进制串到double(小数)
          //  cout<<"小数点 "<<mantissa<<endl;
            mantissa = mantissa + 1.0;
            double res = 0;
            double a, c;
            a = pow((-1), sign);
            c = pow(2, exponent_double);
            res = a * mantissa * c;
            return res;
        }
        static string charToBin(char temp)//十六进制转二进制串
        {
            switch (temp)
            {
            case '0':
                return "0000";
                break;
            case '1':
                return "0001";
                break;
            case '2':
                return "0010";
                break;
            case '3':
                return "0011";
                break;
            case '4':
                return "0100";
                break;
            case '5':
                return "0101";
                break;
            case '6':
                return "0110";
                break;
            case '7':
                return "0111";
                break;
            case '8':
                return "1000";
                break;
            case '9':
                return "1001";
                break;
            case 'A':case 'a':
                return "1010";
                break;
            case 'B':case 'b':
                return "1011";
                break;
            case 'C':case 'c':
                return "1100";
                break;
            case 'D':case 'd':
                return "1101";
                break;
            case 'E':case 'e':
                return "1110";
                break;
            case 'F':case 'f':
                return "1111";
                break;
            default:
                return "WRONG!";
            }
        }
    
        static int stringToDouble(string temp)//二进制串到double(整数)
        {
            double res = 0;
            for (int i = 0; i < temp.length(); i++)
            {
                res = res * 2 + (temp[i] - '0');
            }
            return res;
        }
    
        static double BenToDex(string temp)//二进制串到double(小数)
        {
            int m = temp.length();
            double res = 0;
            for (int i = 0; i < m; i++)
            {
                res = res + (temp[i] - '0') * pow(2, -i - 1);
            }
            return res;
        }
    };
    
    int main()
    {
        string x, y, z;
        cin >> x;//输入十六进制
       // cin>>z;
        double x1 = HexToDouble::putin(x);
        cout << x1 << endl;
        cin >> y;
        double y1 = HexToDouble::putin(y);
        //double z1=HexToDouble::putin(z);
        cout << y1 << endl;
        //  cout<<"z "<<z1<<endl;
        return 0;
    }
    
    doubleToHex:

    也是找不到当时参考哪位大佬的了,谢谢大佬。我也稍微把函数都封装成一个类了。

    #include <iostream>
    #include <cmath>
    #include <bitset>
    #include <string.h>
    #include <string>
    using namespace std;
    
    class doubleToHex
    {
    public:
        static void TestDouble(double value)
        {
            int count = 0;
            string x;
            if (value > 0)
            {
                x += "0";                                      //判断符号
            }
            else
            {
                x += "1";
                value = -value;
            }
            while (2 <= value)                                //获得小数点后值
            {
                value = value / 2.0;
                count++;
            }
            while (value < 1)
            {
                value = value * 2;
                count--;
            }
            count = count + 1023;
            bitset<11>code(count);//将阶码变成二进制表示
            x += code.to_string();//前半部分二进制表示
            int digit = -1;
            value -= 1.0;
            //将数值用二进制表示/
            double posval = 0.0;
            double tempval = 0.0;
            while (value != 0 && digit > -54)
            {
                posval = pow(2, digit);
                tempval = value - posval;
                if (tempval > 0)
                {
                    x += "1";
                    value = tempval;
                }
                else if (tempval == 0)
                {
                    x += "1";
                    break;
                }
                else
                    x += "0";
                --digit;
            }
            int size = 64 - x.size();
            if (size > 0)
            {
                char* temp = new char[size];
                memset(temp, '0', size);
                x.append(temp, size);
                delete temp;
            }
            cout << binTohexstr(x) << endl;
        }
        static string binTohexstr(string temp)
        {
            string value = "";
            if (temp.size() % 4 != 0)
            {
                return NULL;
            }
            while ((temp.size() - 4) > 0)
            {
                value += binTohex(temp.substr(0, 4));
                temp = temp.substr(4, temp.size() - 4);
            }
            value += binTohex(temp);
            return value;
        }
        static char binTohex(string temp)
        {
            if ("0000" == temp)
                return '0';
            else if ("0001" == temp)
                return '1';
            else if ("0010" == temp)
                return '2';
            else if ("0011" == temp)
                return '3';
            else if ("0100" == temp)
                return '4';
            else if ("0101" == temp)
                return '5';
            else if ("0110" == temp)
                return '6';
            else if ("0111" == temp)
                return '7';
            else if ("1000" == temp)
                return '8';
            else if ("1001" == temp)
                return '9';
            else if ("1010" == temp)
                return 'A';
            else if ("1011" == temp)
                return 'B';
            else if ("1100" == temp)
                return 'C';
            else if ("1101" == temp)
                return 'D';
            else if ("1110" == temp)
                return 'E';
            else if ("1111" == temp)
                return 'F';
            else
                return 'G';
        }
    
    };
    
    int main()
    {
        double x;
        cin >> x;
        doubleToHex::TestDouble(x);
        return 0;
    }
    
    展开全文
  • 浮点数转换器1.0

    2013-11-23 22:22:54
    提供浮点数转换功能,单精度和精度都支持!
  • 32位浮点数转换成十进制小数程序

    热门讨论 2012-08-09 21:33:37
    用C#写的32位浮点数转换成十进制小数程序。输入32位二进制数如01000000000000000000000000000000
  • IEEE浮点数转换工具

    热门讨论 2011-04-07 20:26:57
    将任何数据类型的转换为IEEE标准的二进制码或十六进制码,使用方便,功能强大
  • IEEE754标准浮点数转换

    千次阅读 2020-12-07 16:31:13
    IEEE754标准浮点数转换 IEEE754标准是一种浮点数表示标准,一般分为单、精度两种,单精度是32位的二进制数,精度是64位的二进制数,一个浮点数的组成分为三个部分。 ①第1位是数符s,s=1表示负数,s=0表示正数...

    原文:https://blog.csdn.net/hqh131360239/article/details/81353582

    IEEE754标准浮点数转换

    IEEE754标准是一种浮点数表示标准,一般分为单、双精度两种,单精度是32位的二进制数,双精度是64位的二进制数,一个浮点数的组成分为三个部分。

    • ①第1位是数符s,s=1表示负数,s=0表示正数。
    • ②第2-9位为阶码E, (双精度为2-12位)
    • ③第10-32位为尾数M (双精度为13-64位)

    转换大致过程如下:
    首先将十进制数转为二进制数,用类似于科学计数法的形式表示成
    num=(-1)^s (1+M) 2^(E-127)(单精度)
    num=(-1)^s (1+M) 2^(E-1023)(双精度)
    然后将每部分算出的数值按顺序排列
    例如:
    -0.0625=-0.0001=-1.0*2^(-4)
    s=1,M=1-1=0,E=-4 +127=123=0111 1011 ,E(双精度)=-4 +1023=1019 =0111 1111 011
    单精度:1011 1101 1000 0000 0000 0000 0000 0000 (S E M顺序)
    双精度:1011 1111 1011 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

    浮点数转换二进制

    举例:22.8125转二进制,这样计算:
    整数和小数分别转换。
    整数除以2,商继续除以2,得到0为止,将余数逆序排列。

    22 / 2    11 余 0
    11 / 2     5 余 1
    5 / 2      2 余 1
    2 / 2      1 余 0
    1 / 2      0 余 1
    

    所以22的二进制是10110
    小数乘以2,取整,小数部分继续乘以2,取整,得到小数部分0为止,将整数顺序排列。

    0.8125x2=1.625 取整1,小数部分是0.625
    0.625x2=1.25 取整1,小数部分是0.25
    0.25x2=0.5 取整0,小数部分是0.5
    0.5x2=1.0 取整1,小数部分是0,结束
    

    所以0.8125的二进制是0.1101
    十进制22.8125等于二进制10110.1101
    工具1: http://www.styb.cn/cms/ieee_754.php
    工具2: http://www.speedfly.cn/tools/hexconvert/

    思路

    第一步求二进制,负数按照正数处理,不用考虑原反补,s代表正负(正负数转换后只是第一位不同)
    第二步按照公式计算S、E、M,其中E是需要转换成二进制的,但是M并不需要不够的后面补0。
    比如:22.8125等于二进制10110.1101
    22.8125—>10110.1101–>1.01101101* 2^4
    单精度:S=0,E=4+127=131(8位),M=0.01101101(23位)
    ans=0 10000011 01101101000000000000000
    双精度:S=0,E=4+1023=1027(10位) M=0.01101101 (53位)
    ans=0 1000000011 01101101000000000000000000000000000000000000000000000

    GPS坐标工具:https://www.sunearthtools.com/dp/tools/conversion.php?lang=cn#help_Format

    展开全文
  • 将单精度和精度浮点数据转换为对应的16进制表示形式 包括一个基于VC6.0的工程和工具安装包(可直接安装运行)
  • 本软件可实现32位浮点数与十六进制数相互转换,用labwindows编写。
  • ieee754进制转换器

    2020-05-09 13:43:12
    电气ieee754十进制,二进制,十六进制互转,QT成品
  • 可以将16进制浮点数转化为10进制小数; 可以将10进制小数转化为16进制浮点数; 填写数据时不能直接使用Ctrl+V,要使用鼠标右键后选择粘贴。 不需要注册,完全免费! 是各种语言编程的好帮手!
  • 浮点数转换工具.7z

    2009-12-22 12:01:50
    浮点数转换工具.7z 浮点数转换工具.7z 浮点数转换工具.7z 浮点数转换工具.7z 浮点数转换工具.7z 浮点数转换工具.7z
  • 自己用的一个转换工具,希望对用到的人有用。主要是把浮点数转成十六进制值,这样方便工作.免得弄来弄去还出错了.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,037
精华内容 14,014
关键字:

双浮点数转换器