JavaScript DataView.setInt8() — записати байт
Метод setInt8() записує байт зі знаком за заданим зсувом.
Загальний опис
Число, що не влазить у діапазон, не кидає помилки — воно тихо обрізається за молодшими бітами. Записав 300 — прочитаєш 44.
Це поведінка за стандартом, і саме через неї помилки з переповненням у двійковому коді такі непомітні: усе працює, лише числа неправильні.
автор: NagarD
- Нотатка
-
Переповнення мовчазне. Значення поза діапазоном обрізається без жодного попередження — перевіряти межі доводиться самому.
автор: NagarD
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| setInt8 | 9+ | 15+ | 5.1+ | 12.1+ | 12+ | 10+ |
| Переглядач | ||||
|---|---|---|---|---|
| setInt8 | 4+ | yes | yes | 4.2+ |
Приклади
+ запропонувати свій приклад у пісочниці
Переповнення нікого не попереджає.
const view = new DataView(new ArrayBuffer(2));
view.setInt8(0, 100);
console.log(view.getInt8(0)); // 100
// не влазить — обрізалось мовчки
view.setInt8(1, 300);
console.log(view.getInt8(1)); // 44
Коментарі
Коментарів ще немає — будьте першим!