The following numerical types are defined in the alien.c-types vocabulary; a u prefix denotes an unsigned type:
C typeNotes
charalways 1 byte
shortalways 2 bytes
intalways 4 bytes
longsame size as CPU word size and void*, except on 64-bit Windows, where it is 4 bytes
longlongalways 8 bytes
floatsingle-precision float (not the same as Factor's float class!)
doubledouble-precision float (the same format as Factor's float objects)

C99 complex number types are defined in the alien.complex vocabulary.

When making alien calls, Factor numbers are converted to and from the above types in a canonical way. Converting a Factor number to a C value may result in a loss of precision.