1.背景:一组奇怪的数字
有个同事看到一个表格里面有一组数字不太清楚要怎么解析。
RGB值本是3个3位数组成的,每个值是0-255,请问上面表格里是什么类型的数字?如何转换成一组 3个3位数字的形式?
2.思路
我怀疑这是有符号的数,且已知是3个3位数,大概最大值是0xFFFFFF,于是我把这个问题向AI提问:
给出了一般性的解释,可我要的是转化的代码,于是我继续提问
得到了一段转化函数,看起来是对的
def int_to_4bytes_hex(num):
# 确保使用32位有符号整数的补码形式
num &= 0xFFFFFFFF
# 转换为十六进制
hex_str = format(num, '08X')
# 打印完整的4字节十六进制数
print(f'4 Bytes Hexadecimal: {hex_str}')
# 分别打印出每个字节的十六进制和十进制值
for i in range(0, 8, 2):
byte_hex = hex_str[i:i+2]
byte_int = int(byte_hex, 16)
print(f'Byte {i//2 + 1}: Hexadecimal: {byte_hex}, Decimal: {byte_int}')
# 用 -14590851 作为例子
int_to_4bytes_hex(-14590851)
3.行动
为了验证到底对不对,我需要把这个转化的结果给到同事验证,但是不想每次他给我一个数
按照它给出的代码,我运行本地运行,稍微修改了一下得到可用的一个小软件。
经过同事验证,果然是对的,又完成一次逆向交付。
以后看看奇奇怪怪的数字,可以找我借一借,哈哈。
4.小结
AI可以自动化代码生成过程。
传统的软件开发需要程序员手动编写大量的代码,耗费时间和精力。
而AI可以通过学习和训练现有的代码库,自动生成符合需求的代码,极大地提高开发效率。
程序员只需进行一些简单的设置和调整,就能快速生成最小可用的功能,节约了大量的开发时间。