Re[8]: 3/4 vs 0.75
От: Homunculus Россия  
Дата: 02.07.21 18:50
Оценка: :))
Здравствуйте, xma, Вы писали:

Хватит, а.
Кто первый перестанет — тот умнее
Re[4]: все зависит
От: Je suis Mamut  
Дата: 02.07.21 21:35
Оценка:
УП>Правильно. Но можно быть точнее, вдруг делает лишь какое-то подмножество из допустимого.
ну да, я лентяй
Re[9]: 3/4 vs 0.75
От: ути-пути Россия  
Дата: 02.07.21 21:37
Оценка:
Здравствуйте, Homunculus, Вы писали:

H>Хватит, а.

H>Кто первый перестанет — тот умнее

А вот и подстрекатель!
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[8]: 3/4 vs 0.75
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 03.07.21 00:00
Оценка:
xma> расскажи как на духу — на нормальную то работу, коммунистов не берут, да ?

А ты представь, что он купил 50000 биткоинов в 2009-м году, когда они стоили по одному центу.
Деньги для него сейчас не проблема, но рассказывать он тебе об этом не сможет и не будет.
Какая тогда у него будет на твои слова реакция?
Re: 3/4 vs 0.75
От: vsb Казахстан  
Дата: 03.07.21 04:22
Оценка:
Надо изучить формат float и засунуть туда битами что ты хош. В первом приближении можно просто два 16-битовых числа засунуть. Вроде никому от этого плохо не должно быть.
Re[3]: 3/4 vs 0.75
От: Hobbes Россия  
Дата: 04.07.21 11:13
Оценка:
Здравствуйте, pugv, Вы писали:

P>А sizeof(float) == sizeof(void*) всегда?


Нет, конечно. float, как правило, 32-битный IEEE 754, а размер указателя на 64-битных архитектурах 64 бита.
Re[2]: 3/4 vs 0.75
От: vfedosov  
Дата: 04.07.21 12:31
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, Homunculus, Вы писали:


H>>Мне надо в числовой тэг объекта (float) запихнуть два числа.

S>Запихни туда адрес объекта, содержащего нужное тебе в удобном формате. Да, надо будет подпрыгнуть в приседе чтобы из float получить адрес, добраться до объекта и так далее. Зато работать потом будет удобно.
Если уж кастить, то почему не к двум short — 2x2 bytes (если, конечно, 2 байта достаточно для индекса)? Тогда будет меньше проблем с сериализацией к примеру. Хотя все равно о кроссплатформенности можно забыть. Ранее предложенное решение по взаимно-однозначному отображению рациональных чисел на целые гораздо интереснее, если индексы не должны быть сильно большими.
Я бы вообще не советовал использовать tag c float, а поискать решение получше. Выглядит стремно, нечитабельно, наверняка приведет к проблемам в будущем — как и все подобные хаки. В общем лучше иметь отдельную мапу Object2Info и через нее получать все дополнительные данные.
Re: 3/4 vs 0.75
От: Sharov Россия  
Дата: 04.07.21 14:54
Оценка:
Здравствуйте, Homunculus, Вы писали:

H>Другими словами, например дробь 3/4 — содержит эту информацию — у нас как бы третий объект из четырех.

H>А вот та же самая дробь в другом представлении — 0.75 — уже эту информацию теряет.

Вроде выше советловали в битах кодировать: кол-во бит -- всего число элементов, и далее по обычным
правилам двоичной арифметики представить соотв. число. Т.е. работать с бинарным массивом.
Кодом людям нужно помогать!
Re[3]: 3/4 vs 0.75
От: Sheridan Россия  
Дата: 05.07.21 08:29
Оценка:
Здравствуйте, vfedosov, Вы писали:

V>Я бы вообще не советовал использовать tag c float, а поискать решение получше. Выглядит стремно, нечитабельно, наверняка приведет к проблемам в будущем — как и все подобные хаки. В общем лучше иметь отдельную мапу Object2Info и через нее получать все дополнительные данные.

Совершенно согласен.
Matrix has you...
Re: 3/4 vs 0.75
От: Vladek Россия Github
Дата: 05.07.21 10:09
Оценка:
Здравствуйте, Homunculus, Вы писали:

H>Мне надо в числовой тэг объекта (float) запихнуть два числа. Номер объекта в некоем массиве, но еще и каждый объект по тегу должен знать а какой он из скольки.


Похожий приём с указателями так и называется: tagged pointer. С обычными числами гуглится такое: https://abchatra.github.io/TaggedFloat/
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.