وجدت في أحد الكتب هذه الطريقة لإيجاد حجم الأنواع الأوليه لئلا نقوم بعمل إفتراضات خاطئة..........
/**
* @date 31/08/2010
* get_types_bits.c
*/
#include <stdio.h>
int int_bits();
int short_bits();
int long_bits();
int long_long_bits();
int char_bits();
int main(void)
{
printf("%i %i %i %i %i\n",char_bits(), short_bits(), int_bits(), long_bits(), long_long_bits());
return 0;
}
int int_bits()
{
unsigned int x = ~0;
int c=0;
while (x>0)
{
x>>=1;
c++;
}
return c;
}
int short_bits()
{
unsigned short int x = ~0;
int c=0;
while (x>0)
{
x>>=1;
c++;
}
return c;
}
int long_bits()
{
unsigned long int x = ~0;
int c=0;
while (x>0)
{
x>>=1;
c++;
}
return c;
}
int long_long_bits()
{
unsigned long long int x = ~0;
int c=0;
while (x>0)
{
x>>=1;
c++;
}
return c;
}
int char_bits()
{
unsigned char x = ~0;
int c=0;
while (x>0)
{
x>>=1;
c++;
}
return c;
}http://m-hewedy.blogspot.com/2010/08/portability-tip-how-to-know-size-of.html


