parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

хм

Александр Петросян (PAF) 18.02.2006 21:29

примерно так уже и есть — (double)(unsigned long)long_literal.
увы, функция strtoul не вполне переносима, поэтому использована strtol ("to signed long"), которая обрезает число, выпадающее за свои границы. свою эмулировать лениво.

объявляем границу литерала 0xHHHHhhhh:
#define INT_MAX       2147483647    /* maximum (signed) int value */
т.е. записать в hex виде можно число, не большее 0x7FFFffff.

workaround:
^eval(0xFFFF*0x10000+0xFFFF)
#4294967295