JavaScript DataView.setInt8() — записати байт


Метод setInt8() записує байт зі знаком за заданим зсувом.

автор: NagarD

Загальний опис

Число, що не влазить у діапазон, не кидає помилки — воно тихо обрізається за молодшими бітами. Записав 300 — прочитаєш 44.

Це поведінка за стандартом, і саме через неї помилки з переповненням у двійковому коді такі непомітні: усе працює, лише числа неправильні.

автор: NagarD

Нотатка

Переповнення мовчазне. Значення поза діапазоном обрізається без жодного попередження — перевіряти межі доводиться самому.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
setInt8 9+ 15+ 5.1+ 12.1+ 12+ 10+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
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
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід