sábado, 15 de outubro de 2016

C: Tipo de dados - Solução de atividades

Essa atividades é do post

Atividades
A ideia dessa atividade é conhecer um pouco do ambiente de desenvolvimento.

 1. Execute o programa abaixo para saber o tamanho de cada tipo.
#include <stdio.h>
int main(void){
 printf("tamanho char: %lu\n", sizeof(char));
 printf("tamanho short: %lu\n", sizeof(short));
 printf("tamanho int: %lu\n", sizeof(int));
 printf("tamanho long: %lu\n", sizeof(long));
 printf("tamanho long long: %lu\n", sizeof(long long));
 printf("tamanho float: %lu\n", sizeof(float));
 printf("tamanho double: %lu\n", sizeof(double));
 printf("tamanho long double: %lu\n", sizeof(long double));
 return 0;
}

Saída:
tamanho char: 1
tamanho short: 2
tamanho int: 4
tamanho long: 8
tamanho long long: 8
tamanho float: 4
tamanho double: 8
tamanho long double: 16

Podemos ver que no meu PC tanto o long (long int) como o long long (long long int) tem o mesmo tamanho, ou seja, é inútil eu usar long long (saudades int 128 bits kkk)

 2. Execute o programa abaixo para saber o intervalo de cada tipo

#include <stdio.h>
#include <limits.h>
#include <float.h>
int main(void){
 printf("char min: %i max: %i\n",CHAR_MIN,CHAR_MAX);
 printf("unsigned char min: 0 max: %i\n",UCHAR_MAX);
 printf("short min: %i max: %i\n",SHRT_MIN,SHRT_MAX);
 printf("unsigned short min: 0 max: %i\n",USHRT_MAX);
 printf("int min: %i max: %i\n",INT_MIN,INT_MAX);
 printf("unsigned int min: 0 max: %u\n",UINT_MAX);
 printf("long min: %li max: %li\n",LONG_MIN,LONG_MAX);
 printf("unsigned long min: 0 max: %lu\n",ULONG_MAX);
 printf("long long min: %lli max: %lli\n",LLONG_MIN,LLONG_MAX);
 printf("unsigned long long min: 0 max: %llu\n",ULLONG_MAX);
 printf("float min: %g max: %g\n",FLT_MIN,FLT_MAX);
 printf("double min: %g max: %g\n",DBL_MIN,DBL_MAX);
 printf("long double min: %Lg max: %Lg\n",LDBL_MIN,LDBL_MAX);
 return 0;
}
Saída:
char min: -128 max: 127
unsigned char min: 0 max: 255
short min: -32768 max: 32767
unsigned short min: 0 max: 65535
int min: -2147483648 max: 2147483647
unsigned int min: 0 max: 4294967295
long min: -9223372036854775808 max: 9223372036854775807
unsigned long min: 0 max: 18446744073709551615
long long min: -9223372036854775808 max: 9223372036854775807
unsigned long long min: 0 max: 18446744073709551615
float min: 1.17549e-38 max: 3.40282e+38
double min: 2.22507e-308 max: 1.79769e+308
long double min: 3.3621e-4932 max: 1.18973e+4932


Como long e long long tinha o mesmo tamanho não é surpresa os dois terem o mesmo intervalo.

Obs.: A saída pode ser diferente para computadores diferentes.

Nenhum comentário:

Postar um comentário

LinkWithin

Related Posts Plugin for WordPress, Blogger...