C programma binārā skaitļa konvertēšanai decimāldaļās un otrādi

Šajā piemērā jūs iemācīsities manuāli pārveidot bināros skaitļus decimāldaļās un otrādi, izveidojot lietotāja definētu funkciju.

Lai saprastu šo piemēru, jums vajadzētu būt zināšanām par šādām C programmēšanas tēmām:

  • C funkcijas
  • C Lietotāja definētas funkcijas

Programma binārā konvertēšanai uz decimāldaļu

#include #include int convert(long long n); int main() ( long long n; printf("Enter a binary number: "); scanf("%lld", &n); printf("%lld in binary = %d in decimal", n, convert(n)); return 0; ) int convert(long long n) ( int dec = 0, i = 0, rem; while (n != 0) ( rem = n % 10; n /= 10; dec += rem * pow(2, i); ++i; ) return dec; ) 

Rezultāts

Ievadiet bināro skaitli: 110110111 110110111 binārā = 439 

Programma, lai pārvērstu decimāldaļu binārā

#include #include long long convert(int n); int main() ( int n; printf("Enter a decimal number: "); scanf("%d", &n); printf("%d in decimal = %lld in binary", n, convert(n)); return 0; ) long long convert(int n) ( long long bin = 0; int rem, i = 1, step = 1; while (n != 0) ( rem = n % 2; printf("Step %d: %d/2, Remainder = %d, Quotient = %d", step++, n, rem, n / 2); n /= 2; bin += rem * i; i *= 10; ) return bin; ) 

Rezultāts

Ievadiet decimāldaļu: 19 1. darbība: 19/2, atlikums = 1, kvantitāte = 9 2. darbība: 9/2, atlikums = 1, kvantitāte = 4 3. darbība: 4/2, atlikums = 0, kvantitāte = 2 4. darbība. : 2/2, atlikums = 0, koeficients = 1 5. solis: 1/2, atlikums = 1, koeficients = 0 19 aiz komata = 10011 binārā 

Interesanti raksti...