Преобразование чисел с плавающей точкой в целые числа и обратно

Последнее обновление: 03.07.2023

Расширения SSE/AVX/AVX2 предоставляют ряд инструкций для преобразования чисел с плавающей точкой в целые числа и наоборот:

  • cvtdq2pd: преобразует два двойных слова со знаком в два числа с плавающей точкой двойной точности

    cvtdq2pd xmmdest, xmmsrc/mem64
  • vcvtdq2pd: преобразует два двойных слова со знаком в два числа с плавающей точкой двойной точности (результат в XMM)

    vcvtdq2pd xmmdest, xmmsrc/mem64

    либо преобразует 4 двойных слова со знаком в 4 числа с плавающей точкой двойной точности (результат в YMM)

    vcvtdq2pd ymmdest, xmmsrc/mem128
  • cvtdq2ps: преобразует 4 двойных слова со знаком в 4 числа с плавающей точкой одинарной точности

    cvtdq2ps xmmdest, xmmsrc/mem128
  • vcvtdq2ps: преобразует 4 двойных слова со знаком в 4 числа с плавающей точкой одинарной точности

    vcvtdq2ps xmmdest, xmmsrc/mem128

    Другая форма инструкции преобразует 8 двойных слова со знаком в 8 чисел с плавающей точкой одинарной точности

    vcvtdq2ps ymmdest, ymmsrc/mem256
  • cvtpd2dq: преобразует два числа с плавающей точкой двойной точности в два двойных слова со знаком

    cvtpd2dq xmmdest, xmmsrc/mem128
  • vcvtpd2dq: преобразует два числа с плавающей точкой двойной точности в два двойных слова со знаком (результат в XMM)

    vcvtpd2dq xmmdest, xmmsrc/mem128

    Другая форма преобразует преобразует 4 числа с плавающей точкой двойной точности в 4 двойных слова со знаком (результат в YMM)

    vcvtpd2dq xmmdest, ymmsrc/mem256
  • cvtpd2ps: преобразует два числа с плавающей точкой двойной точности в два числа с плавающей точкой одинарной точности

    cvtpd2ps xmmdest, xmmsrc/mem128
  • vcvtpd2ps: преобразует два числа с плавающей точкой двойной точности в два числа с плавающей точкой одинарной точности

    vcvtpd2ps xmmdest, xmmsrc/mem128

    Другая форма преобразует преобразует 4 числа с плавающей точкой двойной точности в 4 числа с плавающей точкой одинарной точности

    vcvtpd2ps xmmdest, ymmsrc/mem256
  • cvtps2dq: преобразует 4 числа с плавающей точкой одинарной точности в 4 двойных слова со знаком

    cvtps2dq xmmdest, xmmsrc/mem128
  • vcvtps2dq: преобразует 4 числа с плавающей точкой одинарной точности в 4 двойных слова со знаком

    vcvtps2dq xmmdest, xmmsrc/mem128

    Другая форма преобразует 8 чисел с плавающей точкой одинарной точности в 8 двойных слов со знаком

    vcvtps2dq ymmdest, ymmsrc/mem256
  • cvtps2pd: преобразует два числа с плавающей точкой одинарной точности в два числа с плавающей точкой двойной точности

    cvtps2pd xmmdest, xmmsrc/mem64
  • vcvtps2pd: преобразует два числа с плавающей точкой одинарной точности в два числа с плавающей точкой двойной точности

    vcvtps2pd xmmdest, xmmsrc/mem64

    другая форма преобразует 4 числа с плавающей точкой одинарной точности в 4 числа с плавающей точкой двойной точности

    vcvtps2pd ymmdest, xmmsrc/mem128
  • cvttpd2dq: преобразует два числа с плавающей точкой двойной точности в два двойных слова со знаком

    cvttpd2dq xmmdest, xmmsrc/mem128
  • vcvttpd2dq: преобразует два числа с плавающей точкой двойной точности в два двойных слова со знаком

    vcvttpd2dq xmmdest, xmmsrc/mem128

    другая форма преобразует 4 числа с плавающей точкой двойной точности в 4 двойных слова со знаком

    vcvttpd2dq xmmdest, ymmsrc/mem256
  • cvttps2dq: преобразует 4 числа с плавающей точкой одинарной точности в 4 двойных слова со знаком

    cvttps2dq xmmdest, xmmsrc/mem128
  • vcvttps2dq: преобразует 4 числа с плавающей точкой одинарной точности в 4 двойных слова со знаком

    vcvttps2dq xmmdest, xmmsrc/mem128

    другая форма преобразует 8 чисел с плавающей точкой одинарной точности в 8 двойных слов со знаком

    vcvttps2dq ymmdest, ymmsrc/mem256
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850