Relatório ALP
a)Porque quando tem 32 bits ele perderia um, porque esse 1 bit é destinado ao sinal e ainda considera-se o zero.
b)Quando chegar no maior número, por ter o +1 volta ao inicio.
c)Por ser unsigned char não tem sinal por isso não precisaria do 1 bit destinado ao sinal.
d)Quando tem +1 volta ao início ao alcançar o maior número e não tem sinal.
4.2
a) Previsões
• c = a++ + b; printf ("a = %d, b = %d, c = %d\n\n", a, b, c);
Conclui que iria aparecer : a=5 , b=3, c =8
Valores corretos foram : a=6, b=3 , c=9
• c = ++a + b; printf ("a = %d, b = %d, c = %d\n\n", a, b, c);
Conclui que iria aparecer: a=5, b=3, c=9
Valores corretos : a=7, b=3, c=10
• c = --a + b; printf ("a = %d, b = %d, c = %d\n\n", a, b, c);
Conclui que iria aparecer: a = 5, b=3, c =8
Valores corretos: a=5, b=3, c=10
• c = a-- + b; printf ("a = %d, b = %d, c = %d\n\n", a, b, c);
Conclui que iria aparecer: a=5, b=3, c=9
Valores corretos :a=5, b=3 ,c=9
• c = a---b; printf ("a = %d, b = %d, c = %d\n\n", a, b, c);
Conclui que iria aparecer:a=4, =3, c=2
Valores corretos: a=4, b=3, c=2
Programa:
#include
#include
/*****************************************************************************
Programa 01
Este programa executa algumas operações aritméticas para verificar minhas previsões ******************************************************************************/ int main ( )
{
int a = 5, b = 3; int c; c = a++ + b; printf ("a = %d, b = %d, c = %d\n\n", a, b, c); c = ++a + b; printf ("a = %d, b = %d, c = %d\n\n", a, b, c); c = --a + b; printf ("a = %d, b = %d, c = %d\n\n", a, b, c); c = a-- + b; printf ("a = %d, b = %d, c = %d\n\n", a, b, c); c = a---b; printf ("a = %d, b = %d, c = %d\n\n", a, b, c); system("pause"); return(0);
}
b) Previsões
• c = a > 4; printf ("%04X >> 4 = %04X\n\n", a, c); Conclui que iria aparecer:00A5
Valor correto: 00A5
• c = a & b; printf ("%04x & %2x = %04x\n\n", a,