十进制整数(含负数)转化为16进制字符串

本文介绍了如何使用Python将包括负数在内的十进制整数转换为16进制字符串。对于正数,通过添加前导'0'确保四位16进制表示;负数则利用补码原理,通过与0xffffffff运算后再取16进制;零直接转换并添加前导'000'。提供了具体实现代码和运行结果。
摘要由CSDN通过智能技术生成

十进制整数(含负数)转化为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=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值