Python-ZZY 2022-06-26 13:26 采纳率: 52%
浏览 105
已结题

如何替换16进制数字某一位的数值?(标签-python|关键词-16进制)

python中如何替换16进制数字某一位的数值?这要用到什么计算方式?
比如a=0x3013。我想要把这个数字的处于最大位数的3换成5,应该如何操作?

a = 0x3013 
'我想要把3变成5,即0x5013'
  • 写回答

1条回答 默认 最新

  • a5156520 2022-06-26 15:26
    关注

    依题目的要求,可按下面的步骤完成替换:
    1、定义要替换的十六进制数a
    2、用按位与运算符将十六进制数a的最高位十六进制位的数去掉
    3、定义一个最高位的数乘以最高位的进制,即新的最高位的十六进制数
    4、把去掉了最高十六进制位的数a加上新的最高位的十六进制数即替换成目标十六进制数。
    参考链接:
    python以16进制打印输出_流楚丶格念的博客-CSDN博客_python 打印16进制
    https://www.csdn.net/tags/Mtjagg4sNjM5NS1ibG9n.html

    代码如下:

    
    a=0x3013  #原数
    #https://blog.csdn.net/weixin_45525272/article/details/115591146
    #print('%#x'%a)
    
    #https://www.csdn.net/tags/Mtjagg4sNjM5NS1ibG9n.html
    a=a&0x0FFF #按位与运算去掉十六进制最高位的数
    #print('%#x'%a)
    
    high=5;
    high=high*0x1000 #要替换成的数乘以最高位的进制即可作为新的最高位的数
    #print('%#x'%high)
    
    a=a+high  #去掉了最高位的数加上新的最高位即完成替换
    print('%#x'%a)
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

    报告相同问题?

    问题事件

    • 系统已结题 7月4日
    • 已采纳回答 6月26日
    • 修改了问题 6月26日
    • 创建了问题 6月26日

    悬赏问题

    • ¥15 代码已写好,求帮我指出错误,有偿!
    • ¥15 matlab+波形匹配算法
    • ¥15 转录组分析做聚类树图时癌旁组被分到了癌组
    • ¥15 大一Python字典
    • ¥15 multisim电路设计(相关搜索:设计报告)
    • ¥15 PC-lint Plus
    • ¥15 gpl24676注释
    • ¥15 php5.3内存泄露
    • ¥15 DigSilent如何复制复合模型到自己案例?
    • ¥15 求日版华为b610s-77a 官方公版固件,有偿