Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao a tutti. La mia è una domanda più tendente alla matematica, dunque non sapendo dove porla, ho scritto qui tra gli algoritmi.
Non riesco a trovare un qualsiasi modo per calcolare, dato un qualsiasi numero in base 10, il numero di cifre che questo numero avrà in base 2.
Cioè, mi spiego meglio:
Avendo in input 25, vorrei che questo algoritmo mi restituisse 5, poichè 25 = 11001 in base 2...
Sono già riuscito a vedere come ogni volta che si aggiunge 8 partendo da un numero multiplo di 8, il numero binario aumenta di una cifra:
8 = 1000
16 = 10000
32 = 100000
64 = 1000000
Come è ovvio che sia. Ma non riesco a trarre una regola generale...
Grazie in anticipo per l'aiuto!
Ultima modifica effettuata da a_butta il 12/12/2010 alle 14:05
E' vero! che scemo!! E dire che ero partito proprio da lì dopo per poter verificare tramite calcolatrice ho utilizzato il cambio di base, ma mi sono poi dimenticato della banale prima ipotesi
Grazie mille!
Se N = 0 usi -infinito cifre?
E' ceil(log2(N+1)) + 1. N+1 perché i numeri rappresentabili da 0 a N sono N+1. +1 alla fine per il bit di segno se usi la notazione modulo e segno o complemento a 2.
sisi questo è vero, però per quello che serviva a me (all'interno di un altro algoritmo), mi bastava anche considerarlo di zero, pur sapendo che formalmente è sbagliato