JavaScript DataView.getInt8() — прочитати байт зі знаком (−128…127)
Метод getInt8() читає байт зі знаком — число від −128 до 127.
Загальний опис
Ті самі біти, інше тлумачення. Байт зі значенням 255 як беззнаковий — це 255, а як знаковий — це −1: старший біт вважається знаком.
Звідси головна порада: тип поля має бути записаний у специфікації формату, а не вгаданий. Переплутавши знаковість, ти отримаєш правдоподібні, але хибні числа — і це найпідступніший клас помилок.
автор: NagarD
- Нотатка
-
Той самий байт дає 255 через
автор: NagarDgetUint8()і −1 черезgetInt8(). Помилка не проявиться на малих значеннях і вилізе лише на великих.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| getInt8 | 9+ | 15+ | 5.1+ | 12.1+ | 12+ | 10+ |
| Переглядач | ||||
|---|---|---|---|---|
| getInt8 | 4+ | yes | yes | 4.2+ |
Приклади
+ запропонувати свій приклад у пісочниці
Ті самі біти — два різні числа.
const view = new DataView(new ArrayBuffer(1));
view.setUint8(0, 255);
console.log(view.getUint8(0)); // 255
console.log(view.getInt8(0)); // -1 — ті самі біти!
Коментарі
Коментарів ще немає — будьте першим!