JavaScript DataView.setInt8() — записати байт
Метод setInt8() записує байт зі знаком за заданим зсувом.
автор: NagarD
Загальний опис
Число, що не влазить у діапазон, не кидає помилки — воно тихо обрізається за молодшими бітами. Записав 300 — прочитаєш 44.
Це поведінка за стандартом, і саме через неї помилки з переповненням у двійковому коді такі непомітні: усе працює, лише числа неправильні.
автор: NagarD
- Нотатка
-
Переповнення мовчазне. Значення поза діапазоном обрізається без жодного попередження — перевіряти межі доводиться самому.
автор: NagarD
Переглядачі
Приклади
+ запропонувати свій приклад у пісочниці
Переповнення нікого не попереджає.
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
автор: NagarD