十进制整数(含负数)转化为16进制字符串
最近想要将十进制的整数(含负数)转化为16进制的字符串发送到CAN网络,所以用python写了个调用函数。
大概思路:
如果是正数的话:
直接用hex()取其16进制,我这里想要标准的四位大小,所以根据数值大小添加字符串‘0‘或者‘00’
如果是负数的话:
负数的16进制是取其补码,这里采用的方式是用负整数与上0xffffffff,再取其16进制即:n3=(hex(n2 & 0xffffffff)),再取其后四位即可
如果是零的话:
很简单取其16进制再加上‘000’字符串即可。
代码如下:
def ten_to_sixteen(n1):
if n1<-30:
n1=