Convert Số Thập Phân Sang Nhị Phân Trong Java - Deft Blog
Có thể bạn quan tâm
Mục lục
- 1 Sử dụng toBinaryString
- 2 Tự triển khai
- 3 Sử dụng Stack
Trong Java để chuyển đổi một số từ hệ thập phân sang nhị phân chúng ta có những cách sau:
- Sử dụng toBinaryString() method trong Integer class.
- Tự triển khai theo lý thuyết được cung cấp sẵn.
- Sử dụng stack
Sử dụng toBinaryString
Integer class cung cấp sẵn cho chúng ta một method dùng để chuyển đổi một số thập phân sang nhị phân cách dễ dàng, nhanh chóng.
class DecimalBinaryExample{ public static void main(String a[]){ System.out.println("Binary representation of 8: "); System.out.println(Integer.toBinaryString(8)); System.out.println("\nBinary representation of 45: "); System.out.println(Integer.toBinaryString(45)); System.out.println("\nBinary representation of 999: "); System.out.println(Integer.toBinaryString(999)); } }Output
Binary representation of 8: 1000 Binary representation of 45: 101101 Binary representation of 999: 1111100111Tự triển khai
Nếu các bạn là người mới và muốn tự mình triển khai để có thể hiểu rõ hơn về lý thuyết cũng như thực hành.
Nguyên tắc của phương pháp này là lấy số cần chuyển đổi chia cho 2 (kết quả chỉ lấy phần nguyên), sau đó tiếp tục lấy kết quả chia 2 (và cũng chỉ lấy phần nguyên), kết quả số nhị phân thu được là tập hợp các số dư của các phép chia.
Ví dụ với n = 8, Ở mỗi bước ta thực hiện phép chia dư cho 2 để lấy số dư và sau đó thực hiện chia cho 2 cho tới khi n == 0.0, 4 => 8 % 2 * 10 ^ 00, 2 => 4 % 2 * 10 ^ 10, 1 => 2 % 2 * 10 ^ 21, 0 => 1 % 2 * 10 ^ 3
Như vậy chúng ta có kết quả – Hệ nhị phân của 8 là 1000.
import java.util.Collections; class DecimalBinaryExample{ public void convertBinary(int num){ int binary[] = new int[40]; int index = 0; while(num > 0){ binary[index++] = num%2; num = num/2; } for(int i = index-1;i >= 0;i--){ System.out.print(binary[i]); } } public static void main(String a[]){ DecimalBinaryExample obj = new DecimalBinaryExample(); System.out.println("Binary representation of 8: "); obj.convertBinary(8); System.out.println("\nBinary representation of 45: "); obj.convertBinary(45); System.out.println("\nBinary representation of 999: "); obj.convertBinary(999); } }Output
Binary representation of 8: 1000 Binary representation of 45: 101101 Binary representation of 999: 1111100111Sử dụng Stack
Đây cũng là một cách tự triển khai số thập phân sang nhị phân, tuy nhiên có áp dụng Stacm – Cấu trúc dữ liệu vào.
import java.util.*; class DecimalBinaryStack { public static void main(String[] args) { Scanner in = new Scanner(System.in); // Create Stack object Stack<Integer> stack = new Stack<Integer>(); // User input System.out.println("Enter decimal number: "); int num = in.nextInt(); while (num != 0) { int d = num % 2; stack.push(d); num /= 2; } System.out.print("\nBinary representation is:"); while (!(stack.isEmpty() )) { System.out.print(stack.pop()); } System.out.println(); } }Output
Enter decimal number: 999 Binary representation is:1111100111Nguồn tham khảo
Java program to convert decimal to binary
Từ khóa » Chuyển Hệ 10 Sang Hệ 2 Stack
-
Bài Tập Chuyển đổi Cơ Số Bằng Stack
-
Dùng Stack đổi Cơ Số Từ Hệ 10 Ra Hệ 2 - Programming
-
Đổi Sang Hệ Cơ Số 10 Sang Hệ Cơ Số 2 Và 16 Dùng Stack Trong C++
-
Code Về Stack | Chuyển Hệ Số 10 Sang 2 Dùng Stack
-
Chương Trình Chuyển đổi Một Số Hệ 10 Sang Hệ 2 Sử Dụng Các Thao
-
[C++] Chuyển Từ Thập Phân Sang Nhị Phân Dùng Stack Và Không ...
-
TopList #Tag: Code Chuyển đổi Cơ Số 10 Sang 2 Dùng Stack
-
Chuyển đổi Hệ Cơ Số Trong Python - Bài Tập Python - VietTuts
-
Chuyển đổi Hệ Cơ Số Trong Java - Bài Tập Java Có Lời Giải - VietTuts
-
[PDF] Bài 4 CẤU TRÚC DỮ LIỆU - Soict
-
[Danh Sách Liên Kết] Bài 17. Ứng Dụng Stack Vào Bài Toán "Chuyển ...
-
Lập Trình C++ - Chuyển đổi Hệ Cơ Số
-
[Basic-DSAA] Cấu Trúc Dữ Liệu Ngăn Xếp- Chuyển Số Thành Chuỗi Nhị ...
-
PHẦN 2 : ỨNG DỤNG CỦA STACK | Huynh Minh Khoa Is Weblog