unsigned short a;
char temp[] = "70000";
a = atoi(temp);
printf("a: %d\n", a);
me da la salida a: 4464
cuando debería ser a: 70000
¿Hay una mejor manera de convertir de ASCII a un decimal? El rango de un corto sin signo es 0 - 65535impresión valores cortos sin signo
Bueno, esto es para mi tarea de ciencias de la computación y tenemos que usar el tipo de datos unsigned short – foo
@mateo: Bueno, no se puede ajustar 70000 en 2 bytes, punto. Si la tarea te pide que lo intentes, la respuesta es "No puedo y tampoco puedes, maestro". Pero no es posible, así que vuelva a leer y cuéntenos la redacción exacta si desea que respondamos. – delnan
En este caso, solo puede almacenar 70000 en dos cortos sin firmar, pero no en uno. Suena raro de hecho. – schnaader