English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا المثال، ستتعلم كيفية تحويل عدد ثنائي إلى عشري والعكس صحيح من خلال إنشاء وظيفة مستخدم مخصصة.
لفهم هذا المثال، يجب أن تعرف ما يليبرمجة Cالموضوع:
#include <math.h> #include <stdio.h> int convert(long long n); int main() { long long n; printf("أدخل العدد الثنائي: "); scanf("%lld", &n); printf("%lld(ثنائي) = %d(عشري)", n, convert(n)); إرجاع 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; } إرجاع dec; }
نتيجة الخروج
أدخل العدد الثنائي: 110110111 110110111(ثنائي) = 439(عشري)
#include <math.h> #include <stdio.h> long long convert(int n); int main() { int n; printf("أدخل الرقم العشري: "); scanf("%d", &n); printf("%d(عشري) = %lld(عشري)", n, convert(n)); إرجاع 0; } long long convert(int n) { long long bin = 0; int rem, i = 1, step = 1; while (n != 0) { rem = n % 2; printf("خطوة %d: %d/2, الباقي = %d, المعدل = %d\n", ++step, n, rem, n / 2); n /= 2; bin += rem * i; i *= 10; } إرجاع bin; }
نتيجة الخروج
أدخل الرقم العشري: 29 خطوة 1: 29/2, الباقي = 1, المعدل = 14 الخطوة 2: 14/2،الباقي = 0،النصاب = 7 الخطوة 3: 7/2،الباقي = 1،النصاب = 3 الخطوة 4: 3/2،الباقي = 1،النصاب = 1 الخطوة 5: 14/2،الباقي = 0،النصاب = 7 29 (عشري) = 11101 (عشري)