Lua中如何将拼接得到的16位二进制串转换为整数?
二进制字符串转整数的实现方法
针对你已经得到16位二进制字符串的场景,主流编程语言都有直接的内置方法可以快速转换,以下是几种常见实现:
Python
直接使用内置的int()函数,第二个参数指定进制为2:
binary_str = "0000000000100000" # 对应值32的16位二进制 result = int(binary_str, 2) print(result) # 输出32
如果还没拼接成字符串,从布尔列表直接转换可以更高效:
bool_list = [False]*11 + [True] + [False]*4 # 对应二进制100000的布尔列表 result = sum(bit << i for i, bit in enumerate(reversed(bool_list))) print(result) # 输出32
Java
使用Integer.parseInt()方法(处理有符号整数),如果是无符号16位可以用Integer.parseUnsignedInt():
String binaryStr = "0000000000100000"; int result = Integer.parseInt(binaryStr, 2); System.out.println(result); // 输出32 // 无符号场景 int unsignedResult = Integer.parseUnsignedInt(binaryStr, 2);
C#
使用Convert.ToInt32()或针对无符号16位的Convert.ToUInt16():
string binaryStr = "0000000000100000"; int result = Convert.ToInt32(binaryStr, 2); Console.WriteLine(result); // 输出32 // 无符号16位 ushort unsignedResult = Convert.ToUInt16(binaryStr, 2);
JavaScript
用parseInt()函数,第二个参数传2:
const binaryStr = "0000000000100000"; const result = parseInt(binaryStr, 2); console.log(result); // 输出32
内容的提问来源于stack exchange,提问作者Eozum
相关产品推荐
相关产品推荐

