@TheRelow

Как преобразовать float в uint16 и обратно?

У меня есть два значения: [15692, 52429]. Это float.
Мне нужно их преобразовывать в uint16.
И наоборот. Например, float 1.234 в два числа в uint16.

То есть, например:
uint16ToFloat([15692, 52429]) возвращает float.
floatToUint16(1.234) возвращает uint16.

Пример того что я хочу сделать:
export function fromUint16(uint16) {
  return ((+uint16[0] << 16) + +uint16[1])
}

export function uint32ToUint16(uint32) {
  const data = [uint32 >> 16, uint32 & 0xffff];
  return data
}

Этот код переводит uint32 в uint16 и обратно.
601a612ca6fbf357856361.png
Мне нужно так-же переводить float в uint16 и выводить uint16. На скрине есть float значение ([15692, 52429])
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
https://www.w3schools.com/js/js_numbers.asp

Грубо говоря, есть только Number. Это все, и с точкой, и без точки. 64 бита, которые хранят инфу о величине числа, о плавающей точке, и о знаке. (16 === 16.00) === true

Если надо преобразовать из одного диапазона в другой, то так и напиши, что есть диапазон чисел от 1000 до 50000 и надо преобразовать число в диапазон от 0.005 до 1.6. Формула гуглится за пару секунд.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
XPOWER Одесса
от 3 000 до 5 500 $
28 февр. 2021, в 01:35
200000 руб./за проект
28 февр. 2021, в 00:22
2500 руб./за проект
27 февр. 2021, в 22:14
30000 руб./за проект