Autor Zpráva
enzet
Profil *
Mám udělat: Napište program, který vypíše maximální číslo, které je možno uložit do unsigned int a do signed int
Pomůcka: -1 jako signed int je maximální unsigned int a maximální signed int je 1/2 maximálního unsigned int.
v Jazyce "C"
nechápu!!!
DJ Miky
Profil
V C++ bych to udělal takto:

unsigned int unsgn=-1;
signed int sgn=unsgn/2;
cout << "Maximalni hodnota unsigned int:" << unsgn << "
";
cout << "Maximalni hodnota signed int: " << sgn;

Nebo můžeš využít hlavičkový soubor limits.h, kde máš limity nadefinované :-).

EDIT: Pozdě o 0 sekund... :-(
Aleš Janda
Profil
maximalni_unsigned_int = (unsigned int)((signed int)-1)
maximalni_signed_int = (signed int)(maximalni_unsigned_int/2)

Souvisí to s bitovou reprezentací čísla v počítači, doporučuji o tom něco pročíst.
A příště nepiš tak blbý název tématu ("Poraďte pls").
Aleš Janda
Profil
DJ Miky: O desetinu vteřiny rychlejší, heč :-P

Mimochodem, mám dojem, že u tohohle (unsigned int sgn=-1;) by ti zařval překladač a u tohohle (signed int unsgn=sgn/2;) by to chtělo ještě přetypování, jinak bude řvát taky.
Hakan
Profil *
Hej borci potrebuju poradit please...mam zadani 35. Napište program, který přečte dva znaky v rozsahu 0 - 9 nebo A - F. Pozor - nečtěte jedno hexadecimální číslo! Tyto dva znaky pak považujte za hexadecimální číslo a jeho hodnotu vypište dekadicky.
please poradte jak bych to mohl napsat v C
enzet
Profil *
:D to nevim taky kamo
enzet
Profil *
#include<stdio.h>
#include<stdlib.h>


int main()
{

char hexa;
char cislo;
char vys;

hexa = 0;
cislo = 0;

printf("zadej cislo a velke pismeno: ");
scanf ("%c %c",&cislo ,&hexa);

switch(hexa)
{
case 'A':
hexa = 10;
break;
case 'B':
hexa = 11;
break;
case 'C':
hexa = 12;
break;
case 'D':
hexa = 13;
break;
case 'E':
hexa = 14;
break;
case 'F':
hexa = 15;
break;
default:
printf ("zadana spatna hodnota");
}

vys = (cislo*16) + hexa;

printf ("dekadicke cislo je: %d ",(int)vys);

system("pause");
return 0;
}
Tady :D
Toto téma je uzamčeno. Odpověď nelze zaslat.