Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Go Mengendalikan Operasi Aritmetik pada Pemalar Amat Besar Tanpa Limpahan Memori?
Soalan:
Dalam Go, operasi berterusan pada nombor yang sangat besar nampaknya berfungsi dengan lancar. Walau bagaimanapun, bagaimanakah Go berjaya menyimpan dan melakukan aritmetik pada pemalar ini tanpa melebihi had memori?
Jawapan:
Penyimpanan Pemalar:
Bertentangan dengan apa yang anda jangkakan, pemalar yang tidak ditaip dengan ketepatan sewenang-wenangnya tidak disimpan pada masa jalan. Sebaliknya, mereka wujud hanya semasa masa penyusunan. Ini bermakna Go tidak perlu mewakili mereka dalam binari boleh laku.
Dalam contoh anda, Huge tetap tidak muncul dalam boleh laku. Sebaliknya, panggilan fungsi ke fmt.Println() direkodkan dengan nilai float64 10.
Ketepatan dan Aritmetik:
Sementara pemalar mempunyai ketepatan arbitrari pada sumber tahap kod, ketepatan ini tidak dijamin pada masa jalan. Begini cara Go mengurus aritmetik pada pemalar:
Melaksanakan Ketepatan Arbitrari:
Walaupun perpustakaan standard Go tidak memberikan ketepatan sewenang-wenangnya daripada kotak itu, terdapat pakej seperti matematik/besar dan pergi/malar yang membolehkan anda mewakili dan memanipulasi nilai dengan ketepatan "sewenang-wenangnya". Pakej ini menggunakan integer dan pecahan besar untuk menyimpan dan mengendalikan nombor melebihi had jenis terbina dalam Go.
Atas ialah kandungan terperinci Bagaimanakah Go Mengendalikan Operasi Aritmetik pada Pemalar Amat Besar Tanpa Limpahan Memori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!