Đổi cơ số trong C++ | Laptrinhcanban.com

HOME › >>

Đổi cơ số trong C++

Trong ngôn ngữ lập trình C++, đổi cơ số (base conversion) là quá trình chuyển đổi giữa các hệ cơ số khác nhau, như hệ thập phân, hệ nhị phân, hệ bát phân, hoặc hệ mười lăm. Đây là một khía cạnh quan trọng trong lập trình, đặc biệt là khi làm việc với các thuật toán và dữ liệu đa dạng. Bài viết này sẽ trình bày cách thực hiện đổi cơ số trong C++ và giải thích tại sao nó quan trọng.

Cơ Bản về Cơ Số

Trước khi bắt đầu, hãy xem xét một số hệ cơ số phổ biến:

  • Hệ Thập Phân (Base 10): Là hệ cơ số mà chúng ta thường sử dụng trong cuộc sống hàng ngày, dựa trên số 10.

  • Hệ Nhị Phân (Base 2): Sử dụng chỉ hai ký tự 0 và 1, thường được sử dụng trong lập trình máy tính.

  • Hệ Tám Phân (Base 8): Sử dụng tám ký tự từ 0 đến 7.

  • Hệ Mười Lăm (Base 16): Sử dụng mười sáu ký tự, từ 0 đến 9 và A đến F, thường được sử dụng để biểu diễn các giá trị nhị phân một cách gọn gàng.

Đổi Cơ Số Trong C++

Đổi Từ Hệ Thập Phân Sang Hệ Khác

#include <iostream>
#include <string>
#include <algorithm>

std::string decimalToBase(int decimalNumber, int base) {
std::string result = "";

while (decimalNumber > 0) {
int remainder = decimalNumber % base;
char digit = (remainder < 10) ? '0' + remainder : 'A' + remainder - 10;
result = digit + result;
decimalNumber /= base;
}

return (result == "") ? "0" : result;
}

int main() {
int decimalNumber = 42;

std::cout << "Hệ thập phân " << decimalNumber << " ở hệ nhị phân: " << decimalToBase(decimalNumber, 2) << std::endl;
std::cout << "Hệ thập phân " << decimalNumber << " ở hệ bát phân: " << decimalToBase(decimalNumber, 8) << std::endl;
std::cout << "Hệ thập phân " << decimalNumber << " ở hệ mười lăm phân: " << decimalToBase(decimalNumber, 16) << std::endl;

return 0;
}

Đổi Từ Hệ Khác Sang Hệ Thập Phân

#include <iostream>
#include <string>

int baseToDecimal(const std::string& number, int base) {
int result = 0;
int power = 1;

for (int i = number.size() - 1; i >= 0; --i) {
int digit = (number[i] >= '0' && number[i] <= '9') ? (number[i] - '0') : (number[i] - 'A' + 10);
result += digit * power;
power *= base;
}

return result;
}

int main() {
std::string binaryNumber = "101010";
std::string octalNumber = "52";
std::string hexNumber = "2A";

std::cout << "Hệ nhị phân " << binaryNumber << " ở hệ thập phân: " << baseToDecimal(binaryNumber, 2) << std::endl;
std::cout << "Hệ bát phân " << octalNumber << " ở hệ thập phân: " << baseToDecimal(octalNumber, 8) << std::endl;
std::cout << "Hệ mười lăm phân " << hexNumber << " ở hệ thập phân: " << baseToDecimal(hexNumber, 16) << std::endl;

return 0;
}

Ứng Dụng Cụ Thể của Đổi Cơ Số

Lập Trình Máy Tính

Khi phát triển các ứng dụng liên quan đến máy tính, việc đổi giữa các hệ cơ số là quan trọng. Điều này giúp hiểu rõ hơn về cách máy tính lưu trữ và xử lý dữ liệu.

Mã Hóa và Bảo Mật

Trong lĩnh vực bảo mật, việc đổi cơ số có thể được sử dụng để mã hóa thông tin và ngăn chặn việc đọc thông tin từ người không có quyền.

Xử Lý Dữ Liệu Nguồn Mở

Trong các dự án mã nguồn mở, đôi khi chúng ta cần đọc dữ liệu được biểu diễn trong các hệ cơ số khác nhau. Điều này có thể xảy ra khi làm việc với file cấu hình hoặc dữ liệu từ nguồn bên ngoại.

Kết Luận

Trên đây Kiyoshi đã hướng dẫn bạn về đổi cơ số trong c++ rồi. Việc hiểu và sử dụng đổi cơ số là một kỹ năng quan trọng trong lập trình C++. Điều này không chỉ giúp tăng cường kiến thức về cơ số, mà còn mở ra cánh cửa cho nhiều ứng dụng khác nhau trong thế giới lập trình. Từ việc làm việc với máy tính đến bảo mật và xử lý dữ liệu, đổi cơ số đóng vai trò

URL Link

https://laptrinhcanban.com/cpp/lap-trinh-cpp-co-ban/so-trong-cpp/doi-co-so-trong-cpp/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.