English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой программе вы узнаете, как использовать функции в Java для конвертации двоичных чисел в десятичные и наоборот.
public class BinaryDecimal { public static void main(String[] args) { long num = 110110111; int decimal = convertBinaryToDecimal(num); System.out.printf("%d двоичное = %d десятичное", num, decimal); } public static int convertBinaryToDecimal(long num) { int decimalNumber = 0, i = 0; long remainder; while (num != 0) { remainder = num % 10; num /= 10; decimalNumber += remainder * Math.pow(2, i); ++i; } return decimalNumber; } }
Когда вы запустите этот程序, вывод будет:
110110111 двоичное = 439 десятичное
public class DecimalBinary { public static void main(String[] args) { int num = 19; long binary = convertDecimalToBinary(num); System.out.printf("%d десятичное = %d двоичное", num, binary); } public static long convertDecimalToBinary(int n) { long binaryNumber = 0; int remainder, i = 1, step = 1; while (n != 0) { remainder = n % 2; System.out.printf("Шаг %d: %d/2, остаток = %d, делитель = %d\n", step++, n, remainder, n/2); n /= 2; binaryNumber += remainder * i; i *= 10; } return binaryNumber; } }
Когда вы запустите этот程序, вывод будет:
Шаг 1: 19/2, остаток = 1, делитель = 9 Шаг 2: 9/2, остаток = 1, делитель = 4 Шаг 3: 4/2, остаток = 0, делитель = 2 Шаг 4: 2/2, остаток = 0, делитель = 1 Шаг 5: 1/2, остаток = 1, делитель = 0 19 десятичный = 10011 двоичный