Espacios de nombres
Variantes
Acciones

Plantilla:cpp/string/cvt str2int base

De cppreference.com

La función descarta cualquier carácter en blanco hasta que se encuentra el primer carácter que no es carácter en blanco. Entonces toma tantos caracteres como sea posible para formar una representación válida de número entero de base-n (donde n={{{base}}}) y los convierte a un valor entero . El valor entero válido consiste en las siguientes partes:

  • (opcional) Signo más (+) o menos (-)
  • (opcional) Prefijo (0) que indica la base octal (se aplica cuando la base es 8)
  • (opcional) Prefijo (0x o 0X) que indica la base hexadecimal (se aplica cuando la base es 16)
  • Una secuencia de dígitos

El conjunto de valores válidos para base es {0,2,3,...,36}. El conjunto de dígitos válidos para enteros de base 2 es 01, para enteros de base 3 es 012, y así sucesivamente. Para bases mayores que 10, los dígitos válidos incluyen caracteres alfabéticos, empezando desde Aa para enteros de base 11, hasta Zz para enteros de base 36. Los caracteres alfabéticos pueden ser minúsculas o mayúsculas.

Pueden aceptarse formatos numéricos adicionales por la configuración regional de C actualmente instalada.

Si el valor de {{{base}}} es 0, la base numérica se detecta automáticamente: si el prefijo es 0, la base es octal, si el prefijo es 0x o 0X, la base es hexadecimal, de lo contrario la base es decimal.

Si el signo menos era parte de la secuencia de entrada, el valor numérico calculado a partir de la secuencia de dígitos se niega como si lo fuera por el menos unario en el tipo del resultado