1

我将在 JavaScript 的数组中接收“n”个四字节十六进制值作为字符串数据类型。我必须对所有“n”数字执行按位或运算,并以相同的格式提供最终值(即十六进制值和字符串数据类型)。我已将我的代码作为“n”=2 的示例发布。

var TTL_ON = ["0xFF208D32","0x5E2C3301"];
TTL_ON="0x"+decimalToHex(eval(TTL_ON.join("|")),8);
WScript.Echo("TTL_ON "+TTL_ON);

function decimalToHex(Decimal, Padding) {
if (decimalToHex.arguments.length != decimalToHex.length) {
    return;
} else {
    var hex = Number(Decimal).toString(16).toUpperCase();
    Padding = typeof(Padding) === "undefined" || Padding === null ? Padding = 2 : Padding;
    while (hex.length < Padding) {
        hex = "0" + hex;
    }
    return hex;
}
}

预期输出为“0xFF2CBF33”

我收到的输出是“0x0-D340CD”。

感谢 Alex.k 解释了问题的根源。谁能为我的问题提供解决方案?

4

0 回答 0