1

JavaScript では、16 進数値の 4 バイトの「n」個を文字列データ型として配列で受け取ります。すべての「n」個の数値に対してビット単位の OR 演算を実行し、最終的な値を同じ形式 (つまり、16 進数値と文字列データ型) で提供する必要があります。「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