You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中实现字符串转十六进制及异或运算?

正确实现方法

你的问题出在对hex()函数的理解上:hex()是用来把整数转换成十六进制字符串的,而不是解析十六进制字符串为数值。要把十六进制格式的字符串转成可运算的数值,得用int()函数并指定进制参数。

步骤说明

  1. 使用int(hex_str, 16)将十六进制字符串转为整数:
    • int("1F", 16) → 得到整数31
    • int("1", 16) → 得到整数1
    • int("2", 16) → 得到整数2
  2. 对转换后的整数直接用^运算符执行异或运算
  3. 若需要将结果转回十六进制字符串,再调用hex()

完整代码

# 原始十六进制字符串
num_str = "1F"
nm_str = "1"
nm1_str = "2"

# 转换为整数
num = int(num_str, 16)
nm = int(nm_str, 16)
nm1 = int(nm1_str, 16)

# 异或运算
xor_result = num ^ nm ^ nm1

# 输出结果
print(f"十进制结果: {xor_result}")
print(f"十六进制结果: {hex(xor_result)}")

运行这段代码会输出:

十进制结果: 32
十六进制结果: 0x20

内容的提问来源于stack exchange,提问作者huntersang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 00:15:35