English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا البرنامج، ستتعلم كيفية استخدام الدوال في Java لتحويل عدد ثنائي إلى عدد عشري والعكس صحيح.
في هذا البرنامج، سنقوم أولاً بتحويل الرقم الثنائي إلى العددي العشري. ثم، نقوم بتحويل العددي العشري إلى الثماني.
public class BinaryOctal { public static void main(String[] args) { long binary = 101001; int octal = convertBinarytoOctal(binary); System.out.printf("%d ثنائي = %d ثماني", binary, octal); } public static int convertBinarytoOctal(long binaryNumber) { int octalNumber = 0, decimalNumber = 0, i = 0; while(binaryNumber != 0) { decimalNumber += (binaryNumber % 10) * Math.pow(2, i); ++i; binaryNumber /= 10; } i = 1; while (decimalNumber != 0) { octalNumber += (decimalNumber % 8) * i; decimalNumber /= 8; i *= 10; } return octalNumber; } }
عند تشغيل البرنامج، يتم إظهار النتيجة كالتالي:
101001 ثنائي = 51 ثماني
التحويل يحدث كالتالي:
من الثنائي إلى العددي العشري 1 * 25 + 0 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 41 من العددي العشري إلى الثماني 8 | 418 | 5 -- 1 8 | 0 -- 5 (51)
في هذا البرنامج، أولاً نقوم بتحويل الرقم الثماني من العددي العشري إلى العددي العشري. ثم، نقوم بتحويل العددي العشري إلى العددي الثنائي.
public class OctalBinary { public static void main(String[] args) { int octal = 67; long binary = convertOctalToBinary(octal); System.out.printf("%d في الثمانية = %d في الثنائية", octal, binary); } public static long convertOctalToBinary(int octalNumber) { int decimalNumber = 0, i = 0; long binaryNumber = 0; while (octalNumber != 0) { decimalNumber += (octalNumber % 10) * Math.pow(8, i); ++i; octalNumber /= 10; } i = 1; while (decimalNumber != 0) { binaryNumber += (decimalNumber % 2) * i; decimalNumber /= 2; i *= 10; } return binaryNumber; } }
عند تشغيل البرنامج، يتم إظهار النتيجة كالتالي:
67 في الثمانية = 110111 في الثنائي
التحويل يحدث كالتالي:
من نظام الثمانية إلى نظام العشرات 6 * 81 + 7 * 80 = 55 من نظام العشرات إلى نظام الثنائي 2 | 552 | 27 -- 1 2 | 13 -- 1 2 | 6 -- 1 2 | 3 -- 0 2 | 1 -- 1 2 | 0 -- 1 (110111)