Инструкции Cast и Copy — различия между версиями

Материал из Compilers Wiki
Перейти к: навигация, поиск
(Новая страница: «Инструкции <strong>cast</strong> и <strong>copy</strong> возвращают биты их аргументов дословно (бит в бит).…»)
 
(нет различий)

Текущая версия на 18:37, 16 марта 2018

Инструкции cast и copy возвращают биты их аргументов дословно (бит в бит). Однако cast будет изменять целое число в число с плавающей точкой той же ширины и наоборот.

The cast and copy instructions return the bits of their argument verbatim. However a cast will change an integer into a floating point of the same width and vice versa.
cast -- wlsd(sdwl)
copy -- T(T)

Cast может использоваться для выполнения побитовых операций с представлением чисел с плавающей запятой. Ниже приведен пример программы, которая вычисляет обратное к числу с плавающей запятой с одинарной точностью %f в %rs.

Casts can be used to make bitwise operations on the representation of floating point numbers. For example the following program will compute the opposite of the single-precision floating point number %f into %rs.
%b0 =w cast %f
%b1 =w xor 2147483648, %b0  # flip the msb
%rs =s cast %b1



Источник: c9x.me