[pso] tema 3 - linux MAXINT

Daniel Mahu pso@cursuri.cs.pub.ro
Thu, 21 Apr 2005 21:04:33 +0300


> Eu mi l-am definit singur. Poti sa-l scrii asa
> #define MAXINT 0x7FFFFFFF - asa in cazul ca esti sigur ca intul e pe 32 biti unde va rula dri
verul
> sau asa #define MAXINT 2147483647

Nuuu!!...


> As sugera urmatoarea varianta :D
> #define MAXINT ( ((long int)1) << sizeof(int)*8 ) - 1

Nici asa nu merge: warning: left shift count >= width of type
(si rezulta -1)


> Alexandru Gartner <mgalex@gmx.net> wrote:
> Am si eu o intrebare...(nu ma injuratzi prea tare)...ce e cu MAXINT-ul asta
> ?
> E definit pe undeva ?
> 
> Mersi!

Exista INT_MAX; este in...

/usr/src/linux/include/linux/kernel.h:#define INT_MAX           ((int)(~0U>>1))

Si ca metoda generala pentru astfel de probleme, eu folosesc de obicei
 grep -R INT_MAX /usr/src/linux/include/


--daniel