Endianness of JavaScript integer literals
Если я напишу
var n = 0x1234
in Javascript, is
n == 4660
всегда правда? Вопрос также может быть сформулирован следующим образом: обозначает ли 0x1234 последовательность байтов, где 0x12 является первым, а 0x34 - последним байтом? Или 0x1234 обозначает число с основанием 16, причем левая цифра является наиболее значимой?
В первом случае 0x1234 может быть 4660, если интерпретируется как big endian, и 13330, если интерпретируется как little endian.
В последнем случае 0x1234 всегда равно 1 * 4096 + 2 * 256 + 3 * 16 + 4 = 4660.
1 ответ
Решение
0x
нотация в JS всегда представляет число с основанием 16, причем левая цифра является наиболее значимой.