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.