C/Przykłady z komentarzem: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Kj (dyskusja | edycje)
Nie podano opisu zmian
GDR! (dyskusja | edycje)
Linia 57:
 
=== Zamiana liczb dziesiętnych na liczby w systemie dwójkowym ===
Zajmijmy się teraz innym zagadnieniem. Wiemy, że komputer zapisuje wszystkie liczby w postaci binarnej (czyli za pomocą jedynek i zer). Spróbujmy zatem zamienić liczbę, zapisaną w "naszym" dziesiątkowym systemie na zapis binarny. Uwaga! Program będzie działa poprawnie dla liczb w zakresie od 0 do 65535 (2<sup>16</sup> - 1), jednak radzę popróbować z innymi liczbami.
 
<pre>
#include <stdio.h>
 
void dectobin (unsigned short a; /* 16-bitowa zmienna */)
 
void dectobin ()
{
int licznik = 15;
Linia 75 ⟶ 73:
int main ()
{
unsigned short a; /* 16-bitowa zmienna */
 
printf ("Podaj liczbę: ");
scanf ("%d", &a);
printf ("%d(10) = ", a);
dectobin(a);
printf ("\n");
return 0;
Linia 84:
 
</pre>
 
Funkcję <code>dectobin()</code> można zmodyfikować tak, aby działała na zmiennych całkowitych o dowolnej długości poprzez zmianę typu danych <code>unsigned short</code> na inny oraz zamianę linii
 
int licznik = 15;
 
na
 
int licznik = 8 * sizeof(a) - 1;
 
 
 
<small>< [[Programowanie:C]]</small>