C++ Char Array To Int64

3 min read Jul 01, 2024
C++ Char Array To Int64

Mengonversi Char Array ke Int64 di C++

Dalam pemrograman C++, Anda mungkin akan menghadapi situasi di mana Anda perlu mengubah sebuah char array menjadi sebuah bilangan bulat 64-bit (int64). Misalnya, Anda mungkin membaca data dari file dalam bentuk teks dan perlu mengubahnya menjadi tipe data numerik untuk pemrosesan lebih lanjut.

Berikut adalah beberapa cara untuk mengonversi char array ke int64 di C++:

1. Menggunakan std::stoi

Fungsi std::stoi dari library <string> di C++ dapat digunakan untuk mengonversi string ke integer. Untuk menggunakannya dengan char array, Anda perlu terlebih dahulu membuat objek string dari char array tersebut.

#include 
#include 
#include 

int main() {
  char arr[] = "1234567890";
  std::string str(arr); 
  int64_t num = std::stoi(str);

  std::cout << "Int64: " << num << std::endl;
  return 0;
}

2. Menggunakan std::strtol

Fungsi std::strtol dari library <cstdlib> dapat digunakan untuk mengonversi string ke integer, termasuk tipe data long long. Fungsi ini lebih fleksibel dan memungkinkan Anda untuk mengatur basis bilangan (misalnya, desimal, biner, heksadesimal) dan menangani kesalahan konversi.

#include 
#include 
#include 

int main() {
  char arr[] = "1234567890";
  char *endptr;
  int64_t num = std::strtol(arr, &endptr, 10); 

  std::cout << "Int64: " << num << std::endl;
  return 0;
}

3. Konversi Manual

Anda juga dapat melakukan konversi char array ke int64 secara manual dengan iterasi melalui setiap karakter dan melakukan operasi matematika untuk membangun bilangan bulat.

#include 
#include 

int main() {
  char arr[] = "1234567890";
  int64_t num = 0;
  for (int i = 0; arr[i] != '\0'; ++i) {
    num = num * 10 + (arr[i] - '0');
  }

  std::cout << "Int64: " << num << std::endl;
  return 0;
}

Pertimbangan

  • Validasi: Pastikan char array yang Anda konversi benar-benar berisi representasi numerik yang valid.
  • Basis Bilangan: Perhatikan basis bilangan yang digunakan oleh char array (desimal, biner, heksadesimal) dan tentukan basis yang tepat untuk fungsi konversi.
  • Overflow: Pastikan bilangan yang dikonversi tidak melebihi rentang maksimum dari tipe data int64.

Pilihan metode konversi terbaik tergantung pada kebutuhan Anda dan konteksnya. Gunakan metode yang paling sesuai dengan kebutuhan Anda dan pastikan Anda melakukan validasi yang diperlukan untuk mencegah kesalahan.

Latest Posts