Jak obliczyć ilość cyfr w liczbie w C++? (int albo string)
Jeżeli liczba > 0, możesz wyciągnąć z niej logarytm o podstawie 10, zaokrąglić go i dodać do niego jeden.
Np.
log(1024)+1 = 4.01029996 ~= 4
Musisz przewidzieć osobne przypadki dla liczb ujemnych (tj.pozbyć się minusa), oczywiście.
Jeżeli liczbę masz w string'u, to po prostu pobierz jego długość.
Obie przedstawione przeze metody są najszybsze.
---
Ewentualnie można by sprawdzić, czy nie istnieje instrukcja MMX/SSE, która to wykonuje.
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Jeżeli liczba > 0, możesz wyciągnąć z niej logarytm o podstawie 10, zaokrąglić go i dodać do niego jeden.
Np.
log(1024)+1 = 4.01029996 ~= 4
Musisz przewidzieć osobne przypadki dla liczb ujemnych (tj.pozbyć się minusa), oczywiście.
Jeżeli liczbę masz w string'u, to po prostu pobierz jego długość.
Obie przedstawione przeze metody są najszybsze.
---
Ewentualnie można by sprawdzić, czy nie istnieje instrukcja MMX/SSE, która to wykonuje.