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