Kalkulator Bilangan Bulat Besar — Aritmatika Presisi Arbitrer
Tambah, kurangi, kalikan, bagi, pangkatkan, atau cari modulo bilangan bulat dengan ukuran berapa pun — di luar batas bilangan aman JavaScript — menggunakan aritmatika presisi arbitrer yang tepat.
Input
Output
Hasil tepat dihitung dengan aritmatika presisi arbitrer — tidak pernah dibulatkan.
Panduan
Mengapa bilangan bulat besar butuh kalkulatornya sendiri
Tipe Number JavaScript — dan secara berkembang setiap kalkulator yang dibangun di atasnya, termasuk sebagian besar alat berbasis browser — hanya dapat merepresentasikan bilangan bulat dengan tepat hingga Number.MAX_SAFE_INTEGER, yaitu 9007199254740991 (sekitar 9 kuadriliun, kira-kira 16 digit). Di luar itu, angka mulai kehilangan presisi diam-diam: 9007199254740993 bahkan tidak bisa disimpan seperti yang ditulis, karena dibulatkan menjadi 9007199254740992. Kalikan dua bilangan 15-digit bersama-sama dan hasil eksak sering sudah melampaui batas itu, dan hasilnya rusak diam-diam tanpa ada kesalahan atau peringatan.
Alat ini menyingkiri masalah seluruhnya menggunakan tipe BigInt asli JavaScript, yang merepresentasikan bilangan bulat dengan ukuran berapa pun — ratusan atau ribuan digit — dengan presisi eksak. Tidak ada pembulatan, tidak ada lintasan titik-mengambang, tidak ada pemotongan diam-diam. 2 dipangkatkan 128 keluar dengan sempurna, setiap digit.
Cara menggunakannya
- Masukkan Bilangan A — bilangan bulat apa pun, positif atau negatif, dengan panjang apa pun.
- Pilih sebuah Operasi: Tambah, Kurangi, Kalikan, Bagi, Pangkat, atau Modulo.
- Masukkan Bilangan B.
Hasil diperbarui secara otomatis dan muncul di kotak Hasil, siap disalin atau diunduh.
Operasi yang didukung
- Tambah / Kurangi / Kalikan — hasil eksak apa pun ukurannya.
- Bagi — pembagian bilangan bulat (pemenggalan). Jika B tidak membagi A dengan merata, hasilnya ditampilkan sebagai
hasil sisa rdaripada desimal bulat atau berulang — satu-satunya cara merepresentasikan pembagian dengan tepat. - Pangkat (A ^ B) — B harus nol atau bilangan bulat positif. Eksponen dibatasi pada 1000 untuk menjaga hasil dapat dihitung dalam waktu yang wajar; basis dengan lebih dari beberapa digit dipangkatkan ke 1000 sudah menghasilkan hasil ribuan digit panjang.
- Modulo (A mod B) — sisa dari A ÷ B, mengikuti konvensi
BigIntJavaScript: hasil mengambil tanda A (misalnya-17 mod 5 = -2).
FAQ
Mengapa saya tidak bisa memasukkan desimal? Ini adalah kalkulator bilangan bulat — BigInt hanya mendukung angka bulat. Untuk aritmatika desimal presisi arbitrer Anda memerlukan alat berbeda (perpustakaan desimal menukar performa dan kompleksitas yang tidak dibutuhkan kalkulator angka bulat).
Apa yang terjadi jika saya membagi atau mengambil modulo dengan nol? Alat menolaknya dengan kesalahan yang jelas daripada mogok — pembagian dengan nol tidak terdefinisi untuk bilangan bulat, jadi B harus bukan nol untuk dua operasi itu.
Seberapa besar bilangan bisa menjadi? Penambahan, pengurangan, dan perkalian tidak memiliki batas ukuran praktis — Anda bisa menempel bilangan ratusan digit panjang. Hanya eksponen dalam operasi Pangkat yang dibatasi, untuk menghindari meminta browser Anda menghitung hasil dengan jutaan digit.
Apakah ini berguna untuk apa pun yang nyata? Ya — kriptografi (materi kunci RSA), kombinatorika (faktorial, koefisien binomial besar), dan perhitungan apa pun yang harus tetap eksak daripada perkiraan semuanya tumbuh melampaui presisi kalkulator biasa dengan cepat.
Privasi
Semua aritmatika berjalan secara lokal menggunakan JavaScript standar — apa pun yang Anda masukkan tidak diunggah atau disimpan.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/big-integer-calculator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"numberA": "123456789012345678901234567890",
"operation": "add",
"numberB": "987654321098765432109876543210"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `big-integer-calculator` tool (Big Integer Calculator) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.