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

如何替换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 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探