I normally use chatGPT 4o because it is much faster than o1-preview. Today I asked 4o the following:
Write a function that performs the following 2 byte hex to 2 byte signed int transformations:
0x801D --> -29
0x811D --> -285
0x821D --> -541
0xFF1D --> -32541
0x001D --> 29
0xAA1D --> -10781
0x101D --> 4125
It wrote a function that resulted in the following, mostly wrong, output:
-32739
-32483
-32227
-227
29
-21987
4125
I fed this output back, and it apologized and rewrote something slightly different, but the output was still wrong. I repeated the steps, and I got responses like 'I see the issue more clearly now' and 'Thank you for your patience,' but the output remained incorrect. When I fed the same prompt to o1-preview, it solved the problem in a single iteration. Here is the final python function (sign-magnitude representation):
def hex_to_signed_int(N): isNegative = N & 0x8000 # equivalent to "N >= 0x8000" # 0x8000=1000 0000 0000 0000 if isNegative: magnitude = N & 0x7FFF # 0x7FFF=0111 1111 1111 1111 return -magnitude else: return N test_values = [0x801D, 0x811D, 0x821D, 0xFF1D, 0x001D, 0xAA1D, 0x101D] for val in test_values: print(f"0x{val:04X} --> {val:05} --> {hex_to_signed_int(val)}")
No comments:
Post a Comment