Σε αυτό το παράδειγμα, θα μάθετε να μετατρέπετε δυαδικούς αριθμούς σε δεκαδικά και αντίστροφα χειροκίνητα δημιουργώντας μια συνάρτηση που καθορίζεται από το χρήστη.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Γ:
- C Λειτουργίες
- C Λειτουργίες που καθορίζονται από τον χρήστη
Πρόγραμμα μετατροπής δυαδικού σε δεκαδικό
#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; )
Παραγωγή
Εισαγάγετε έναν δυαδικό αριθμό: 110110111 110110111 σε δυαδικό = 439
Πρόγραμμα μετατροπής δεκαδικού σε δυαδικό
#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; )
Παραγωγή
Εισαγάγετε έναν δεκαδικό αριθμό: 19 Βήμα 1: 19/2, Υπόλοιπο = 1, Ποσοστό = 9 Βήμα 2: 9/2, Υπόλοιπο = 1, Πηλίκο = 4 Βήμα 3: 4/2, Υπόλοιπο = 0, Ποσοστό = 2 Βήμα 4 : 2/2, Remainder = 0, Quotient = 1 Step 5: 1/2, Remainder = 1, Quotient = 0 19 in δεκαδικό = 10011 in binary