Ver Mensaje Individual
  #28  
Antiguo 24-10-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
aguml Va por buen camino
vale, creo que es elevando el largo del rango al largo del serial, o sea, en este caso pow(16, 8)-1.
A esto le veo un problema, para 256 caracteres y un serial de 8 caracteres nos vamos a 18446744073709551615 que es justo el limite de un int64 sin signo. ¿como he calculado el valor maximo? elevando 2 a la potencia de (sizeof(UINT64)*8) y restandole 1, o sea (2^64)-1. Curiosamente un unsigned long long posee el mismo rango. Como pow no me permite usar valores tan grandes lo que hago es poner la variable a 0 y luego decremento en 1 y ya poseo el valor maximo cuando es unsigned. El único tipo que conozco mayor que esos es long double que es de 10 bytes, o sea 80 bits, pero no se que rango tiene ya que he encontrado buscando que su rango es 3.37e-4932 a 1.18e4932 y que los doubles no pueden ser sin signo asi que el maximo seria 1.18e4932 pero no entiendo ese tipo de notacion y no se a que valor equivale realmente.
O sea que para seriales de 8 o mas caracteres tendriamos un grave problema.
Responder Con Cita