本文主要是介绍和AI一起进行的一次小小的逆向交付,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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可以通过学习和训练现有的代码库,自动生成符合需求的代码,极大地提高开发效率。
程序员只需进行一些简单的设置和调整,就能快速生成最小可用的功能,节约了大量的开发时间。
这篇关于和AI一起进行的一次小小的逆向交付的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!