-
- 22? Кроме шуток, мы однажды изобрели 22 битную плавучку, и это оказалось супер-решением - нужно было передавать данные через Inmarsat D+, и там каждый бит на вес золота. 10 битные инты и 22 битная плавучка кардинально решили проблему - была Evgeny_CD(41 знак., 03.03.2015 13:27)
- Пардон, а может быть, проще тупо упаковывать перед пересылкой, чем "изобретать плавучку"? - SciFi(03.03.2015 13:48)
- Заголовок архива тоже требует места, а мы весь пакет ужали не то до 70, не то до 90 БИТ (я сейчас уже не помню, было года 4 назад). И при этом пакет можно было распаковать и корректно обработать на основе знания только формата, никакой априорной Evgeny_CD(61 знак., 03.03.2015 13:54)
- Какой заголовок? Передать, скажем, 15 бит мантиссы, 6 бит экспоненты и один бит знака. При чём тут заголовок? - SciFi(03.03.2015 13:58)
- Так я такое и понимаю под "22 битной плавучкой". Точное распределение битов между мантиссой и экспонентой не помню уже. Да, у нас знака в экспоненте не было - не нужен был из-за диапазона возможных значений. - Evgeny_CD(03.03.2015 14:00)
- Я к тому, что вся "22-битная плавучка" сводится к двум функциям: f32to22() и f22to32(). О чём там мог материться программер - ума не приложу. SciFi(55 знак., 03.03.2015 14:02 - 14:05)
- Упаковка преобразованных, сжатых по диапазону, входных данных в битовый "массив 90 бит" на выходе. С учетом того, что там все было некратно ничему, приходилось ему индивидуально адресовывать каждый бит (группу битов) в буфере подготовки пакета. - Evgeny_CD(03.03.2015 14:12)
- Сериализация/десериализация. Довольно стандартная задача. - SciFi(03.03.2015 14:18, ссылка)
- Упаковка преобразованных, сжатых по диапазону, входных данных в битовый "массив 90 бит" на выходе. С учетом того, что там все было некратно ничему, приходилось ему индивидуально адресовывать каждый бит (группу битов) в буфере подготовки пакета. - Evgeny_CD(03.03.2015 14:12)
- Я к тому, что вся "22-битная плавучка" сводится к двум функциям: f32to22() и f22to32(). О чём там мог материться программер - ума не приложу. SciFi(55 знак., 03.03.2015 14:02 - 14:05)
- Так я такое и понимаю под "22 битной плавучкой". Точное распределение битов между мантиссой и экспонентой не помню уже. Да, у нас знака в экспоненте не было - не нужен был из-за диапазона возможных значений. - Evgeny_CD(03.03.2015 14:00)
- Но программер, который всю эту битовую арифметику в ARM7 на С реализовывал, матерился долго и качественно :) - Evgeny_CD(03.03.2015 13:55)
- Это, наверное, от брезгливости... задача элементарная, но настолько кодо-неизящная, что ощущения от неё как от вычёрпывания выгребной ямы на даче. Вроде всё просто, но... Николай Коровин(193 знак., 03.03.2015 15:00)
- Вообще говоря, в идеале надо делать SDL, который был компилился в С (код и макросы с определениями всякие). Давно такая мысль у меня бродит (С все таки сильно убог для битовой арифметики, надо признать), да все руки не доходят. - Evgeny_CD(03.03.2015 15:24)
- Да, этот тот пример, когда писание на С чуть ли не менее эффективно, чем асмачество. - Evgeny_CD(03.03.2015 15:21)
- Можно это всё неплохо автоматизировать. Человек, должно быть, поленился нормальные костыли приделать и рубился в рукопашную. - SciFi(03.03.2015 15:09)
- 90 бит не стоит автоматизировать, если они не меняются каждый день :) Если килобайт-два или часто меняются -- то да, один раз изобрести масочный парсер и ему просто писать шаблоны масок "откуда чего брать". Хотя бы на дефайнах, кстати. - Николай Коровин(03.03.2015 15:14)
- Стоит или нет - это зависит от того, как крепко этот программер матерился :-) - SciFi(03.03.2015 15:17 - 15:20)
- Хммм, надо взять этот критерий на вооружение :) - Николай Коровин(03.03.2015 15:27)
- Стоит или нет - это зависит от того, как крепко этот программер матерился :-) - SciFi(03.03.2015 15:17 - 15:20)
- 90 бит не стоит автоматизировать, если они не меняются каждый день :) Если килобайт-два или часто меняются -- то да, один раз изобрести масочный парсер и ему просто писать шаблоны масок "откуда чего брать". Хотя бы на дефайнах, кстати. - Николай Коровин(03.03.2015 15:14)
- Это, наверное, от брезгливости... задача элементарная, но настолько кодо-неизящная, что ощущения от неё как от вычёрпывания выгребной ямы на даче. Вроде всё просто, но... Николай Коровин(193 знак., 03.03.2015 15:00)
- Какой заголовок? Передать, скажем, 15 бит мантиссы, 6 бит экспоненты и один бит знака. При чём тут заголовок? - SciFi(03.03.2015 13:58)
- Заголовок архива тоже требует места, а мы весь пакет ужали не то до 70, не то до 90 БИТ (я сейчас уже не помню, было года 4 назад). И при этом пакет можно было распаковать и корректно обработать на основе знания только формата, никакой априорной Evgeny_CD(61 знак., 03.03.2015 13:54)
- Пардон, а может быть, проще тупо упаковывать перед пересылкой, чем "изобретать плавучку"? - SciFi(03.03.2015 13:48)
- 22? Кроме шуток, мы однажды изобрели 22 битную плавучку, и это оказалось супер-решением - нужно было передавать данные через Inmarsat D+, и там каждый бит на вес золота. 10 битные инты и 22 битная плавучка кардинально решили проблему - была Evgeny_CD(41 знак., 03.03.2015 13:27)