Tabel pencarian telah disebutkan dalam komentar. Ada dua pendekatan.
Cepat
Buat tabel panjang 256 byte, dengan setiap nilai berikutnya akar kuadrat dari indeks yang sesuai. Ini cepat karena Anda menggunakan argumen sebagai indeks untuk mengakses nilai yang tepat secara langsung. Kekurangannya adalah itu membutuhkan tabel panjang, dengan banyak nilai duplikat.
Compact
Seperti dikatakan, integer 8-bit hanya dapat memiliki nilai 0 hingga 255, dan akar kuadrat yang sesuai adalah 0 hingga 16 (bulat). Buat tabel entri 16 (berbasis nol) dengan entri ke-n nilai maksimum untuk argumen yang akar kuadratnya adalah n. Tabel akan terlihat seperti ini:
0
2
6
12
20
etc.
Anda berjalan melalui tabel dan berhenti ketika Anda menemukan nilai yang lebih besar atau sama dengan argumen Anda. Contoh: akar kuadrat dari 18
set index to 0
value[0] = 0, is less than 18, go to the next entry
value[1] = 2, is less than 18, go to the next entry
value[2] = 6, is less than 18, go to the next entry
value[3] = 12, is less than 18, go to the next entry
value[4] = 20, is greater than or equal to 18, so sqrt(18) = 4
Sementara tabel pencarian cepat memiliki waktu eksekusi yang tetap (hanya satu pencarian), di sini waktu eksekusi lebih lama untuk argumen nilai yang lebih tinggi.
Untuk kedua metode, dengan memilih nilai yang berbeda untuk tabel, Anda dapat memilih antara nilai bulat atau terpotong untuk akar kuadrat.