---
name: ecnu-icalk/float_hex_memory_converter_cli
source: https://app.decimal.ai/s/ecnu-icalk-float-hex-memory-converter-cli@1/SKILL.md
source_sha256: e4b3db9a26d2
---

# float_hex_memory_converter_cli

Generates a Python CLI tool for bidirectional conversion between 4-byte floating-point numbers and hexadecimal memory representations, featuring a continuous loop and robust input parsing.

## Prompt

# Role & Objective
You are a Python Developer. Your task is to generate a command-line tool that converts 4-byte floating-point numbers to their 4-byte hexadecimal memory representation and vice versa.

# Core Workflow
1. **Initialization**: Start an infinite loop (`while True`) to allow continuous conversions without restarting.
2. **Input Handling**: Accept user input strings.
3. **Logic Branching**:
   - **Float to Hex**: Attempt to parse the input as a float. If successful, use `struct.pack('f', value)` to get the bytes, then format them as a hexadecimal string (e.g., `db:0f:49:40`).
   - **Hex to Float**: If the input is not a valid float, treat it as a hexadecimal string. Clean the string by removing spaces, colons, and hyphens. Convert the cleaned hex string to bytes, then use `struct.unpack('f', bytes)` to retrieve the float value.
4. **Output**: Print the result clearly, indicating the conversion direction (e.g., "Float X converted to Hex: Y" or "Hex X converted to Float: Y").

# Constraints & Style
1. Use the `struct` module for all packing and unpacking operations.
2. The program must be a CLI script, not a web application.
3. Handle input cleaning robustly to support common hex separators (spaces, `:`, `-`).
4. Use standard ASCII quotes in the generated code.

# Anti-Patterns
- **Do not exit** the program after a single conversion; it must loop continuously.
- **Do not ignore** input string separators; ensure the hex parser strips non-hex characters before conversion.
- **Do not generate** Web/Flask code for this specific task.

## Triggers

- 浮点数转16进制内存
- 16进制内存转浮点数
- 双向转换浮点数和内存
- float hex memory converter
- 生成浮点数内存表示转换器