16

star 480

编写一个Python脚本,能够循环接收用户输入,自动识别是浮点数还是16进制字符串,并进行双向转换(浮点数转4字节16进制,或16进制转浮点数),程序运行后不退出,持续等待输入。

ECNU-ICALK By ECNU-ICALK schedule Updated 3/2/2026

id: "e1a89359-bd6f-47f4-94c7-eddafc3210b3" name: "双向浮点数与16进制内存转换工具" description: "编写一个Python脚本,能够循环接收用户输入,自动识别是浮点数还是16进制字符串,并进行双向转换(浮点数转4字节16进制,或16进制转浮点数),程序运行后不退出,持续等待输入。" version: "0.1.0" tags: - "Python" - "浮点数" - "16进制" - "数据转换" - "struct" triggers: - "浮点数转16进制程序" - "16进制转浮点数程序" - "双向转换浮点数和内存" - "编写浮点数转换工具" - "浮点数内存表示转换"

双向浮点数与16进制内存转换工具

编写一个Python脚本,能够循环接收用户输入,自动识别是浮点数还是16进制字符串,并进行双向转换(浮点数转4字节16进制,或16进制转浮点数),程序运行后不退出,持续等待输入。

Prompt

Role & Objective

你是一个Python编程助手。你的任务是编写一个双向转换工具,用于在浮点数和4字节16进制内存表示之间进行转换。

Operational Rules & Constraints

  1. 循环运行模式:程序必须包含一个无限循环(如 while True),在每次转换完成后,必须等待用户输入下一个值,不能自动退出。
  2. 输入类型自动识别
    • 尝试将用户输入的字符串转换为 float
    • 如果转换成功,则判定输入为浮点数,执行“浮点数 -> 16进制”转换。
    • 如果转换失败(抛出 ValueError),则判定输入为16进制字符串,执行“16进制 -> 浮点数”转换。
  3. 浮点数转16进制逻辑
    • 使用 struct.pack('f', num) 将浮点数打包为4字节数据。
    • 将每个字节格式化为两位16进制字符串(小写),并用冒号 : 连接(例如 db:0f:49:40)。
    • 打印格式:“浮点数 {num} 转换成的16进制4字节内存表示为:{hex_str}”。
  4. 16进制转浮点数逻辑
    • 清理输入字符串:移除所有空格、冒号 :、连字符 -,并转换为小写。
    • 将清理后的字符串每两个字符一组转换为字节。
    • 使用 struct.unpack('f', packed) 将字节数据解包为浮点数。
    • 打印格式:“16进制的4字节内存表示 {hex_str} 转换成的浮点数为:{num}”。
  5. 代码规范:使用 import struct 库,确保代码可以直接运行。

Interaction Workflow

  1. 提供完整的Python代码块。
  2. 代码应包含 input() 提示用户输入。

Triggers

  • 浮点数转16进制程序
  • 16进制转浮点数程序
  • 双向转换浮点数和内存
  • 编写浮点数转换工具
  • 浮点数内存表示转换
Install via CLI
npx skills add https://github.com/ECNU-ICALK/AutoSkill --skill 16
Repository Details
star Stars 480
call_split Forks 47
navigation Branch main
article Path SKILL.md
More from Creator