
我自己的solution, obviously, 没有考虑负数的情况。但是我已经尽力了T^T
如果硬要我做负数的话,比如-1, 我会直接求1的 hex。 然后invert, +1. 但是hex怎么invert T^T。。。

这个答案屌。。。直接把hex先看做binary来处理。收到灵感启发,对于负数,我觉得可以先convert 成binary,然后invert,然后+1。 然后以4个bit 4个bit的转换。
傻逼啊。。。负数本身在binary里就是已经2's compliment了. 主要是num % 16 的问题。

补充知识:>>>

改进版代码


附:
binary to decimal:
我一开始是想能不能right shift数字,把1101 最左边先shift出来,乘2^3。 再shift后面的。发现似乎并不行。不过换一个方向也是一样的,这个一时间脑袋秀逗也可能没转过来。
