编辑代码

#include <stdio.h>
#include <stdlib.h>

    int main()   // 定义 4 个 10 进制变量并赋值
    {
        int num1 = 139;
        int num2 = 109;
        int num3 = 187;
        int num4 = 63;

// 将整数转换为 16 进制字符串
        char hexStr1[10];
        char hexStr2[10];
        char hexStr3[10];
        char hexStr4[10];
        sprintf ( hexStr1, "%X", num1 );
        sprintf ( hexStr2, "%X", num2 );
        sprintf ( hexStr3, "%X", num3 );
        sprintf ( hexStr4, "%X", num4 );

// 输出转换后的 16 进制字符串
        printf ( "Hex str1: %s\n", hexStr1 );
        printf ( "Hex str2: %s\n", hexStr2 );
        printf ( "Hex str3: %s\n", hexStr3 );
        printf ( "Hex str4: %s\n", hexStr4 );

// 将 16 进制字符串转换为整数
        long hex1 = strtol ( hexStr1, NULL, 16 );
        long hex2 = strtol ( hexStr2, NULL, 16 );
        long hex3 = strtol ( hexStr3, NULL, 16 );
        long hex4 = strtol ( hexStr4, NULL, 16 );

// 将 4 个整数合并为一个 32 位无符号整数
        unsigned int num = ( hex4 << 24 ) | ( hex3 << 16 ) | ( hex2 << 8 ) | hex1;

// 使用 union 类型将整数转换为浮点数
        union
        {
            unsigned int i;
            float f;

        } converter;
        converter.i = num;

// 输出浮点数结果
        //printf ( "Result: %f\n", converter.f );
        float result = converter.f;
        FW[4] = result;
    }