Сохранен 61
https://2ch.su/b/res/332988803.html
К сожалению, значительная часть сохранённых до 2024 г. изображений и видео была потеряна (подробности случившегося). Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Двачек, объясни дебилу, Как они 0xDC0C перевели в 1.2E-08? Я 10 раз перечитал, и сломал мозг. По мои

 Аноним 13/05/26 Срд 12:33:39 #1 №332988803 
image.png
image.png
Двачек, объясни дебилу, Как они 0xDC0C перевели в 1.2E-08?
Я 10 раз перечитал, и сломал мозг. По моим расчетам должно получиться -259.
Какой еще "исходный 7-й разряд", что блять тут написано, как они превратили F7 в -9, я не понимаю, помогите.
Аноним 13/05/26 Срд 12:42:11 #2 №332989042 
Спасите
sage[mailto:sage] Аноним 13/05/26 Срд 12:43:28 #3 №332989077 
дураку помогать -- сам дурак

пошел нахуй даун
Аноним 13/05/26 Срд 12:44:20 #4 №332989097 
>>332989077
Нет, ты.
Аноним 13/05/26 Срд 12:49:40 #5 №332989255 
>>332988803 (OP)
Байтоебы, что вы там их дрочите?
Ты на ассемблере писать собрался?
Или где ещё упало представление числа в шестнадцатеричной системе?
мимо бекенд
Аноним 13/05/26 Срд 12:53:21 #6 №332989373 
>>332989255
Да где угодно. Числа в компуктере передаются в виде байтиков. Эти байтики надо превратить в нормальное число.
Аноним 13/05/26 Срд 12:56:04 #7 №332989446 
Бамп
Аноним 13/05/26 Срд 12:59:04 #8 №332989547 
Бамб
Аноним 13/05/26 Срд 13:00:46 #9 №332989609 
>>332989255
>Или где ещё упало представление числа в шестнадцатеричной системе?
Я часто юзаю. Но байтовые. В 1 байт можешь 8 булов засунуть, и пихать 1 инт как "конфигурация" для функции. Гораздо проще написать что-то типа if(x == 0x0A), чем переводить или сдвиги дрочить. Но я безработный, пишу свою ОС сейчас по книге с кометой.
Аноним 13/05/26 Срд 13:03:57 #10 №332989728 
>>332988803 (OP)
>ассемблер
Низкоуровневый кал. Поебота для тех, кто вместо бурения скважины начнёт копать колодец ложкой и высирать треды про а почему у меня так долго нихуя не получается
Аноним 13/05/26 Срд 13:06:25 #11 №332989813 
>>332989728
Расскажи, как без низкоуровневого кала перевести число?
Аноним 13/05/26 Срд 13:10:01 #12 №332989961 
Бамп
Аноним 13/05/26 Срд 13:09:57 #13 №332989978 
>>332989813
ИИ для кого изобрели?

@monkey напиши код перевода числа из 16ричного в десятичное
Сам пиши код, анон, я не по этой части. Разберись в представлении числа, там мантисса и экспонента отдельно считаются, а не тупой перевод всего хекса в десятичное.
Аноним 13/05/26 Срд 13:11:05 #14 №332990005 
>>332989978
Макак слит, пользуйся гемини хотя бы
Аноним 13/05/26 Срд 13:11:32 #15 №332990016 
>>332989978
> Сам пиши
Лол, двачера попустила нейросеть
Аноним 13/05/26 Срд 13:13:05 #16 №332990067 
>>332990016
*ОП-хуя

быстрофикс
Аноним 13/05/26 Срд 13:13:35 #17 №332990083 
>>332989978
> код перевода
Открою тебе секрет, но люди уже написали такой код и даже сделали калькуляторы перевода. В оп-посте 2 пикча - результат вычисления.
Аноним 13/05/26 Срд 13:14:34 #18 №332990126 
>>332989978
И тут он понял что низкоуровневый кал это он сам...
Аноним 13/05/26 Срд 13:16:53 #19 №332990200 
>>332990067
Так это не оп дрочится в безмозглый ии.
Аноним 13/05/26 Срд 13:19:58 #20 №332990298 
1778667598558.jpeg
нейрокалыч
Аноним 13/05/26 Срд 13:21:59 #21 №332990370 
>>332989609
>В 1 байт можешь 8 булов засунуть, и пихать 1 инт как "конфигурация" для функции
Какой же уёбок, а...
Аноним 13/05/26 Срд 13:23:25 #22 №332990420 
Средний iq по двачу = 35.
[mailto:Sage] Аноним 13/05/26 Срд 13:23:46 #23 №332990437 
>>332989255
>Или где ещё упало представление числа в шестнадцатеричной системе?
Повсеместно в крипте. Еще в графике вроде.
мимо криптобэкенд
Аноним 13/05/26 Срд 13:26:39 #24 №332990532 
Бамп
Аноним 13/05/26 Срд 13:27:15 #25 №332990554 
>>332990370
терпи
Аноним 13/05/26 Срд 13:28:17 #26 №332990584 
Бамп
Аноним 13/05/26 Срд 13:31:50 #27 №332990699 
Бамп
Аноним 13/05/26 Срд 13:33:08 #28 №332990752 
Почему люди решили, что отдать любую умственную деятельность нейросеткам, а самим спокойно деградировать - это охуительная идея?
Аноним 13/05/26 Срд 13:38:26 #29 №332990948 
бапп
Аноним 13/05/26 Срд 13:39:33 #30 №332990992 
>>332988803 (OP)
О байтодроч заебись
Аноним 13/05/26 Срд 13:41:12 #31 №332991048 
>>332989077
Что, тебя опять побили в школе?
Аноним 13/05/26 Срд 13:47:35 #32 №332991280 
Бамп
Аноним 13/05/26 Срд 13:50:22 #33 №332991384 
бамп
Аноним 13/05/26 Срд 13:59:29 #34 №332991699 
image.png
Ну что ты бампаешь? В твоем примере порядок имеет размер byte, 8 бит, один из них обозначает знак. В таком режиме ты можешь записать числа от -128 до 127, 11110111 будет означать -9. В калькуляторе ты переводишь в 16-битное число, там 11110111 будет означать 247. Исходный седьмой разряд - речь про 0xDC.
Аноним 13/05/26 Срд 14:02:46 #35 №332991799 
>>332991699
>В твоем примере порядок имеет размер byte, 8 бит
Где ты это увидел? Мантисса - это 10 бит, значит порядок 16 - 10 = 6 бит.
Аноним 13/05/26 Срд 14:05:12 #36 №332991870 
>>332991699
>будет означать 247
А у них 1.2E-08.
И? Как правильно то бля
Аноним 13/05/26 Срд 14:08:17 #37 №332991975 
>>332989609
> Гораздо проще
> if(x == 0x0A)
Охуеть, выбери что то одно.
> В 1 байт можешь 8 булов засунуть
Про это вкурсе, но также как и выше, дроч неинтуитивная
>>332990437
> Повсеместно в крипте.
Ясно, криминал
Аноним 13/05/26 Срд 14:12:45 #38 №332992128 
У тебя там формат не float, а какой-то другой.
Аноним 13/05/26 Срд 14:16:06 #39 №332992242 
>>332992128
В смысле? 1.2E-08 это же флоат.
Аноним 13/05/26 Срд 14:19:25 #40 №332992352 
Все правильно у них написано.

1) 0xDC = 0b1101 1100
2) 0xDC >> 2 = 0x37
3) Т.к. в 0xDC седьмой бит == 1, то выполняем ИЛИ: 0x37 ИЛИ 0xC0 = 0xF7. 2 бита из мантиссы мы убрали сдвигом вправо на предыдущем шаге.
4) 0xF7 при переводе в byte будет -9
Аноним 13/05/26 Срд 14:20:35 #41 №332992400 
>>332992352
Это сюда:
>>332991870
Аноним 13/05/26 Срд 14:23:00 #42 №332992489 
>>332992242
На первой картинке как будто не про float16 стандарта IEEE 754 говорится, а про какой-то другой формат.
Аноним 13/05/26 Срд 14:26:09 #43 №332992610 
>>332992352
>0xF7 при переводе в byte будет -9
-9 - это не байт, а Int или Sint.
Аноним 13/05/26 Срд 14:28:37 #44 №332992698 
>>332992489
И как эту ебень преобразовать в человеческий float?
Аноним 13/05/26 Срд 14:31:36 #45 №332992820 
>>332992698
Я ебу? Зазберись что у тебя там за поебень. Потом разберись что такое нормальный float. Дальше станет понятно как преобразовать.
Аноним 13/05/26 Срд 14:38:28 #46 №332993021 
>>332992820
>Зазберись что у тебя там за поебень.
Если бы я мог, то не создавал бы тред.......................................................
Аноним 13/05/26 Срд 14:42:27 #47 №332993149 
>>332988803 (OP)
>как они превратили F7 в -9
(~0xF7)+1
/thread
Аноним 13/05/26 Срд 14:52:00 #48 №332993473 
>>332989728
Вот я с этим ассемблером порой развлекаюсь. Чисто для души.
А ещё - если ты разработчик коммерческого софта, который тиражируется миллионами экземпляров - тебе наверняка придётся учиться отлаживать свою софтину по логам и дампам памяти, получившимся в результате падения софтины.
А тут-то навыки низкоуровневого байтоёбства ой как пригодятся.
Аноним 13/05/26 Срд 15:20:36 #49 №332994385 
>>332992489
Да, ОП, давай еще контекст. Тут явно нестандартное преобразование, старший байт DC даст отрицательное число в IEEE 754.
Аноним 13/05/26 Срд 15:33:32 #50 №332994765 
>>332994385
Никакого особо контекста нет. Есть один прибор отечественной разработки. Я считываю с него показания по сети.
В руководстве к нему только такая информация, как на фото из оппоста. Больше ничего не сказано про формат данных.
Могу только сказать, что сейчас прибор показывает "0.00", а по сети отправляет 0xF800
Аноним 13/05/26 Срд 15:53:18 #51 №332995463 
1778676798612.jpeg
>>332989255
Чтр ты мне сделаешь?
мимо бек пытаюсь вкатиться в асм
Аноним 13/05/26 Срд 15:55:54 #52 №332995561 
>>332988803 (OP)
Нахуя шизы написали в конце чтд? Привычка после шараги везде писать эту хуйню?
Аноним 13/05/26 Срд 15:57:01 #53 №332995606 
По алгоритму со скриншота действительно 0.00 получается. Ну значит у него свой формат данных. Отрицательные значения он может давать? Если да, то ищи, где он ставит бит знака, явно это не самый старший. Что тебе надо сделать? По порядку в принципе вычисления простые и понятные, нужно понять как считать мантиссу - может ли она быть отрицательной.
Аноним 13/05/26 Срд 16:16:08 #54 №332996261 
>>332995606
>Отрицательные значения он может давать?
По идее нет, но это не точно
Аноним 13/05/26 Срд 16:19:02 #55 №332996352 
>>332994765
>>332995606

Мантисса считается так (на примере первой строчки): (старший_байт AND 3) << 8 OR младший_байт

Больше похоже не на прибор, а на задачку из учебника.
Аноним 13/05/26 Срд 17:14:36 #56 №332998115 
>>332989255
ipv6
Аноним 13/05/26 Срд 17:28:37 #57 №332998583 
>>332988803 (OP)
F7 это и есть -9 если число signed
Если старший бит (and 0x80 == 0x80) значит число отрицательное, переверни все биты и прибавь 1 получишь 9.
or 0xС0 делается чтобы сделать число снова отрицательным, дальше кривым языком пытаются объяснить что если число изначально не отрицательное (and 0x80 != 0x80) то и or 0xС0 делать не нужно.
И не забудь про 2 бита которые мы сдвигом сместили они уйдут в мантису видно по верхнему примеру, так как чтобы получить 700 нужно чтобы было 0x02BC, а 0x2 как раз было в нижних 2х битах 0xFA
Аноним 13/05/26 Срд 17:50:24 #58 №332999241 
>>332998583
> Пердолинг
Аноним 13/05/26 Срд 17:56:25 #59 №332999397 
>>332999241
Ну а хуля ты хотел, в приборе стоит контролер у которого свой формат плавающий точки, он в нём данные и шлёт. Скажи спасибо что в документации хоть как-то его описали.
Аноним 13/05/26 Срд 18:14:51 #60 №333000063 
1778685289976.jpg
>>332999397
Аноним 13/05/26 Срд 18:19:22 #61 №333000177 
>>333000000 →
comments powered by Disqus