新手求问lua能将十进制和十六进制数互相转化吗

2025-04-09 08:03:01
推荐回答(3个)
回答1:

可以的。

详细方法如下:

str="0xBA"

十六进制转到十进制

print(string.format("%d",str))

str="12345"

十进制转到十六进制

print(string.format("%#x",str))

1.二进制与十进制之间的转换

十进制转二进制

方法为:

十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。

二进制转十进制

方法为:把二进制数按权展开、相加即得十进制数。

2.二进制与八进制之间的转换

二进制转八进制

方法为:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。

八进制转成二进制

方法为:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。

回答2:

str="1254687"

十进制转十六进制
输出为大写字母 用 %X

print(string.format("%X",str))
输出为小写字母 用 %x
print(string.format("%x",str))
加上 # 就在数字前面加上 0x 一般用在十六进制

print(string.format("%#x",str))

十六进制转十进制
str="0x10BC"
print(string.format("%d",str))

回答3:

  str="0xBA"

  十六进制转到十进制
  print(string.format("%d",str))

  str="12345"

  十进制转到十六进制
  print(string.format("%#x",str))