Java programma binārā skaitļa konvertēšanai uz oktālo un otrādi

Šajā programmā jūs iemācīsities pārveidot bināro skaitli par astotnieku un otrādi, izmantojot Java funkcijas.

Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:

  • Java metodes
  • Java operatori
  • Java kamēr un dari … kamēr Loop

1. piemērs: Programma binārā konvertēšanai uz oktālu

Šajā programmā mēs vispirms pārveidosim bināro skaitli decimāldaļās. Pēc tam decimālskaitlis tiek pārvērsts oktālā.

 public class BinaryOctal ( public static void main(String() args) ( long binary = 101001; int octal = convertBinarytoOctal(binary); System.out.printf("%d in binary = %d in octal", 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; ) )

Rezultāts

 101001 binārā = 51 astotniekā

Šī pārveidošana notiek kā:

Binārs līdz decimāldaļai 1 * 2 5 + 0 * 2 4 + 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 41 aiz komata līdz 8. oktobrim | 41 8 | 5 - 1 8 | 0 - 5 (51)

2. piemērs: programma, lai konvertētu oktālo uz bināro

Šajā programmā vispirms ir oktālskaitlis līdz decimāldaļai aiz komata. Pēc tam decimālskaitlis tiek pārveidots par bināro skaitli.

 public class OctalBinary ( public static void main(String() args) ( int octal = 67; long binary = convertOctalToBinary(octal); System.out.printf("%d in octal = %d in binary", 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; ) )

Rezultāts

 67 astotniekā = 110111 binārā

Šī pārveidošana notiek kā:

Oktāls līdz decimāldaļai 6 * 8 1 + 7 * 8 0 = 55 aiz komata līdz bināram 2 | 55 2 | 27 - 1 2 | 13 - 1 2 | 6 - 1 2 | 3 - 0 2 | 1 - 1 2 | 0 - 1 (110111)

Interesanti raksti...