как адрес, че произойдёт? меня асемблер на этапе сборки по рукам ударит или мне в рантайме вылетит ошибка, что я флоат как адрес интерпретирую? произойдёт в лучшем случае сегфолт, в худшем этот адрес будет доступен и пошло поехало
Вы можете и на типизированном языке высокого уровня положить флоат в адрес. Ровно с тем же эффектом. Не понимаю аналогию без примера
какая аналогия? это конкретный пример и есть
адрес тип имеет
да, тока в Ц я могу хоть как-то че-то пометить на асемблере пометишь?
я вам повторю. Формальный термин у типа есть.
специально пирса для тя открыл
Ещё раз. Я привёл конкретный пример, что в ассемблере x86 есть тип целых чисел, и есть тип плавающих. Они конкретно лежат в разных физических регистрах, и нету способа подать плавающий регистр в целочисленную команду. Это вполне себе типизация. Я уже не говорю про предикатные регистры, или тегированные регистры с проверкой типа и и размера (!) в более продвинутых ассемблерах
я могу сделать мов из целочисленного регистра в регистр для флоата?
че произойдёт?
Ничего, не можно передать этот регистр как аргумент к mov
Если прямо один в один перенести, то там вообще другое число будет. Флоаты представляются в основном в виде описанном в IEEE 754, поэтому числа «228» и «228.0» выглядят абсолютно по разному, если посмотреть на биты.
раз на то пошло, ассемблером и llvm ir назвать можно
Это и есть высокоуровневый ассемблер. И, кстати, довольно строго типизированный
Можно же. MOVQ вполне значение передаст. Только вот это принципиально ничего не меняет. Такие конверсии и в высокоуровневых типизированных яп есть. Просто тут странное представление о типах, особенно про отсутствие типов в питоне
ну у пирса тогда тоже странное, чтож
Ну наверное надо на возможности конкретного процессора смотреть. В старых процессоров флоатов не было совсем, потом для каких-то процов приделалывали со-процессор, который не был на короткой ноге с основным процессором. А вообще уже рассказали, почему перекладывать из целочисленного в float бесполезно.
при чём тут полезность?
О. Тут я не выдержал. Очень даже полезно. Есть всякие высокопроизводительные bitхаки. Например, https://en.m.wikipedia.org/wiki/Fast_inverse_square_root
Обсуждают сегодня