Ik neem aan dat je x86 asm bedoelt, in dat geval, met de instructie
fist (of
fistp) :
Deze doet trunc of round, afhankelijk van de rounding mode van je FPU. Die kun je veranderen in het FPU status word, met
fstcw en
fldcw.
Als het alleen op processors met SSE2 hoeft te werken (praktisch alle Intel en AMD cpu's die je vandaag de dag in de praktijk tegenkomt) kun je ook
cvtss2si en
cvtsd2si gebruiken (voor float resp. double), of
cvtpd2pi om er zelfs twee tegelijk te doen. Zijn ook
cvtt- varianten van die altijd trunc doen.
In theory, there's no difference between theory and practice. In practice, there is.