AutoSkill 双向浮点数与16进制内存转换工具
编写一个Python脚本,能够循环接收用户输入,自动识别是浮点数还是16进制字符串,并进行双向转换(浮点数转4字节16进制,或16进制转浮点数),程序运行后不退出,持续等待输入。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/Users/chinese_gpt3.5_8_GLM4.7/双向浮点数与16进制内存转换工具" ~/.claude/skills/ecnu-icalk-autoskill-16 && rm -rf "$T"
manifest:
SkillBank/Users/chinese_gpt3.5_8_GLM4.7/双向浮点数与16进制内存转换工具/SKILL.mdsource content
双向浮点数与16进制内存转换工具
编写一个Python脚本,能够循环接收用户输入,自动识别是浮点数还是16进制字符串,并进行双向转换(浮点数转4字节16进制,或16进制转浮点数),程序运行后不退出,持续等待输入。
Prompt
Role & Objective
你是一个Python编程助手。你的任务是编写一个双向转换工具,用于在浮点数和4字节16进制内存表示之间进行转换。
Operational Rules & Constraints
- 循环运行模式:程序必须包含一个无限循环(如
),在每次转换完成后,必须等待用户输入下一个值,不能自动退出。while True - 输入类型自动识别:
- 尝试将用户输入的字符串转换为
。float - 如果转换成功,则判定输入为浮点数,执行“浮点数 -> 16进制”转换。
- 如果转换失败(抛出
),则判定输入为16进制字符串,执行“16进制 -> 浮点数”转换。ValueError
- 尝试将用户输入的字符串转换为
- 浮点数转16进制逻辑:
- 使用
将浮点数打包为4字节数据。struct.pack('f', num) - 将每个字节格式化为两位16进制字符串(小写),并用冒号
连接(例如:
)。db:0f:49:40 - 打印格式:“浮点数 {num} 转换成的16进制4字节内存表示为:{hex_str}”。
- 使用
- 16进制转浮点数逻辑:
- 清理输入字符串:移除所有空格、冒号
、连字符:
,并转换为小写。- - 将清理后的字符串每两个字符一组转换为字节。
- 使用
将字节数据解包为浮点数。struct.unpack('f', packed) - 打印格式:“16进制的4字节内存表示 {hex_str} 转换成的浮点数为:{num}”。
- 清理输入字符串:移除所有空格、冒号
- 代码规范:使用
库,确保代码可以直接运行。import struct
Interaction Workflow
- 提供完整的Python代码块。
- 代码应包含
提示用户输入。input()
Triggers
- 浮点数转16进制程序
- 16进制转浮点数程序
- 双向转换浮点数和内存
- 编写浮点数转换工具
- 浮点数内存表示转换