2014-09-26 18 views

risposta

23

letterali interi che iniziano con 0 come

00101 

è in realtà una costante ottale.

+2

Questa è la convenzione più confuso mai, è totalmente in contraddizione con il modo in cui gli umani guardano i numeri. –

+0

Grazie mille! C'è un modo per aggirare questo? Sto ricevendo dei valori e non so quanti saranno gli zeri principali. –

+2

@KosmasKatsoulotos Come hai ricevuto i valori? Non si incontra questo problema se non quello di confrontarsi con i letterali. –

5

00101 è un valore ottale che è 65 in decimale, quindi restituisce 5.

0

00101 è in ottale che è pari a 65 in decimale, quindi è per questo che l'operatore modulo sarà sempre darci 5. Si può fare ottale a decimale converstion su questo link http://www.rapidtables.com/convert/number/octal-to-decimal.htm

+1

Hai detto "esadecimale", ma intendevi "ottale", e comunque tutte le altre risposte prima di aver capito bene. – AndyG

+1

hex significa che dovrebbe iniziare con 0x. – Rustam

+0

@AndyG Ora corretto e stavo già andando a correggerlo – Taimour