@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])
  • Вопрос задан
  • 966 просмотров
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
https://www.w3schools.com/js/js_numbers.asp

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

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

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

Войти через центр авторизации
Похожие вопросы