一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

gzcjx555
QQ  296686949
級別: 工控俠客
精華主題: 0
發帖數量: 519 個
工控威望: 4206 點
下載積分: 2525 分
在線時間: 361(小時)
注冊時間: 2014-02-15
最后登錄: 2025-02-07
查看gzcjx555的 主題 / 回貼
樓主  發表于: 2024-03-05 16:35
請廣大網友幫忙把編程語言給轉換一下
        public string float_TO_string(float fl)
        {
            byte[] a = BitConverter.GetBytes(fl);
            return a[0].ToString("X2") + a[1].ToString("X2") + a[2].ToString("X2") + a[3].ToString("X2");
        }
        public string float_TO_string(double dl)
        {
            byte[] a = BitConverter.GetBytes(dl);
            return a[0].ToString("X2") + a[1].ToString("X2") + a[2].ToString("X2") + a[3].ToString("X2")+ a[4].ToString("X2") + a[5].ToString("X2") + a[6].ToString("X2") + a[7].ToString("X2");
        }


        public float string_TO_float(string f1)
        {
            byte[] a = new byte[4];
            a[0] = Convert.ToByte(f1.Substring(0, 2));
            a[1] = Convert.ToByte(f1.Substring(2, 2));
            a[2] = Convert.ToByte(f1.Substring(4, 2));
            a[3] = Convert.ToByte(f1.Substring(6, 2));
            return BitConverter.ToSingle(a, 0);
        }
        public double string_TO_double(string d1)
        {
            byte[] a = new byte[8];
            a[0] = Convert.ToByte(d1.Substring(0, 2));
            a[1] = Convert.ToByte(d1.Substring(2, 2));
            a[2] = Convert.ToByte(d1.Substring(4, 2));
            a[3] = Convert.ToByte(d1.Substring(6, 2));
            a[4] = Convert.ToByte(d1.Substring(8, 2));
            a[5] = Convert.ToByte(d1.Substring(10, 2));
            a[6] = Convert.ToByte(d1.Substring(12, 2));
            a[7] = Convert.ToByte(d1.Substring(14, 2));
            return BitConverter.ToDouble(a, 0);
        }
附件: epson_dll.pdf (1471 K) 下載次數:14
網站提示: 請不要用迅雷下載附件,容易出錯
附件: EPSON float與string互轉.txt (2 K) 下載次數:13
網站提示: 請不要用迅雷下載附件,容易出錯
聯系電話15071699246,QQ296686949
zlcp123
級別: 工控俠客
精華主題: 0
發帖數量: 129 個
工控威望: 4320 點
下載積分: 13670 分
在線時間: 557(小時)
注冊時間: 2018-09-11
最后登錄: 2024-11-26
查看zlcp123的 主題 / 回貼
1樓  發表于: 2024-03-06 09:22
看上去就是十六進制的字符串與單雙精浮點數的互相轉換,既然你會C++應該可以按功能自己寫一個

“42F6E979”<=>1.23456E+2

“405EDD2F1A9FBE77”<=>1.23456E+2

就是這么個東西
[ 此帖被zlcp123在2024-03-06 09:28重新編輯 ]
gzcjx555
QQ  296686949
級別: 工控俠客
精華主題: 0
發帖數量: 519 個
工控威望: 4206 點
下載積分: 2525 分
在線時間: 361(小時)
注冊時間: 2014-02-15
最后登錄: 2025-02-07
查看gzcjx555的 主題 / 回貼
2樓  發表于: 2024-03-06 16:45
引用
引用第1樓zlcp123于2024-03-06 09:22發表的  :
看上去就是十六進制的字符串與單雙精浮點數的互相轉換,既然你會C++應該可以按功能自己寫一個

“42F6E979”<=>1.23456E+2

“405EDD2F1A9FBE77”<=>1.23456E+2
.......

我會c#,不會c++,這個好像有點區別
聯系電話15071699246,QQ296686949
已翻身的咸魚
級別: 略有小成
精華主題: 0
發帖數量: 285 個
工控威望: 478 點
下載積分: 784 分
在線時間: 477(小時)
注冊時間: 2021-03-04
最后登錄: 2025-02-07
查看已翻身的咸魚的 主題 / 回貼
3樓  發表于: 2024-03-11 08:52
#include <iostream>
#include <vector>

std::string float_TO_string(float fl)
{
    std::vector<unsigned char> a(sizeof(float));
    memcpy(&a[0], &fl, sizeof(float));

    std::string result;
    for (unsigned char byte : a) {
        char hex[3];
        snprintf(hex, sizeof(hex), "%02X", byte);
        result += hex;
    }

    return result;
}

std::string float_TO_string(double dl)
{
    std::vector<unsigned char> a(sizeof(double));
    memcpy(&a[0], &dl, sizeof(double));

    std::string result;
    for (unsigned char byte : a) {
        char hex[3];
        snprintf(hex, sizeof(hex), "%02X", byte);
        result += hex;
    }

    return result;
}

float string_TO_float(std::string f1)
{
    std::vector<unsigned char> a(4);
    for (int i = 0; i < 4; ++i) {
        a = std::stoul(f1.substr(i * 2, 2), nullptr, 16);
    }

    float fl;
    memcpy(&fl, &a[0], sizeof(float));

    return fl;
}

double string_TO_double(std::string d1)
{
    std::vector<unsigned char> a(8);
    for (int i = 0; i < 8; ++i) {
        a = std::stoul(d1.substr(i * 2, 2), nullptr, 16);
    }

    double dl;
    memcpy(&dl, &a[0], sizeof(double));

    return dl;
}

int main()
{
    // 測試轉換函數
    float f = 3.14f;
    double d = 6.28;

    std::string floatHex = float_TO_string(f);
    std::string doubleHex = float_TO_string(d);

    std::cout << "Float to Hex String: " << floatHex << std::endl;
    std::cout << "Double to Hex String: " << doubleHex << std::endl;

    float convertedFloat = string_TO_float(floatHex);
    double convertedDouble = string_TO_double(doubleHex);

    std::cout << "Hex String to Float: " << convertedFloat << std::endl;
    std::cout << "Hex String to Double: " << convertedDouble << std::endl;

    return 0;
}
本帖最近評分記錄:
  • 下載積分:+5(gzcjx555)
    gzcjx555
    QQ  296686949
    級別: 工控俠客
    精華主題: 0
    發帖數量: 519 個
    工控威望: 4206 點
    下載積分: 2525 分
    在線時間: 361(小時)
    注冊時間: 2014-02-15
    最后登錄: 2025-02-07
    查看gzcjx555的 主題 / 回貼
    4樓  發表于: 2024-03-11 09:46
    引用
    引用第3樓已翻身的咸魚于2024-03-11 08:52發表的  :
    #include <iostream>
    #include <vector>

    std::string float_TO_string(float fl)
    {
    .......

    感謝大神,我只會C#的語言,c++不會,EPSON手臂可以支持c++的dll文件,可以做復雜的邏輯,這個是比其他手臂要強大很多了
    聯系電話15071699246,QQ296686949

    主站蜘蛛池模板: 国产成人精品一区二三区在线观看 | 午夜福利试看120秒体验区 | 国产精品福利在线观看秒播 | 幻女free性俄罗斯第一次摘花 | 久久热这里只有 精品 | 国产亚洲精品九九久在线观看 | 日日免费视频 | 婷婷色六月 | 九九在线精品视频 | 欧美精品成人a多人在线观看 | 国产成人理在线观看视频 | 国产成人手机在线好好热 | 男女xxoo做爰猛烈动态一 | www.久久av.com | 香蕉91xj.cc| 成人免费视频一区 | 男生操女生动态图 | 日本又黄又裸一级大黄裸片 | 视频一区国产精戏刘婷 | 国产va欧美va在线观看 | 国产精品视频一区二区三区w | 亚洲mm色国产网站 | 国产草草 | 精品四虎国产在免费观看 | 免费在线观看网址大全 | 日韩欧美高清视频 | 日本高清二三四本2021 | 亚洲gogo人体大胆西西安徽 | 日韩亚洲人成网站在线播放 | 青青草人人 | 香蕉91| 色吊丝每日永久访问网站 | ai换脸杨颖被啪在线观看 | 日本高清在线播放一区二区三区 | 大陆男同志gayxxx | 日日操视频 | 欧美国产日韩在线 | xxxxyoujizz护士| 500福利第一巨人导航 | 亚洲不卡视频在线观看 | 日韩在线观看一区二区不卡视频 |