Ceros iniciales en la notación de un número utilizando un sistema numérico posicional : una secuencia de uno o más ceros que ocupan bits altos . El concepto de ceros iniciales surge cuando se utilizan representaciones de números que tienen un número fijo de dígitos. En otros casos, por regla general, no se escriben ceros a la izquierda.
En algunos lenguajes de programación, en particular C / C++ , Perl (antes de 6) [1] [2] y Python (antes de 3.0), un cero inicial antes de un número indica octal . Por ejemplo, 0644 es una constante literal con el valor 420 10 .
Existe una sintaxis similar en los lenguajes Java y Ada . Estadísticamente, el uso de constantes octales en programas C es extremadamente bajo (alrededor del 0,1% de todas las constantes literales, excluyendo la constante "0", técnicamente también octal). Tales constantes conservan cierta popularidad en el caso de describir los derechos de los archivos en el estilo Unix/POSIX (0666, 0750), y en algunos casos de trabajar con máscaras de bits, cuando es más fácil para el programador representar la representación de bits de números octales, en lugar de hexadecimales o, además, decimales [ 3] .
Tales reglas pueden no ser obvias para los programadores y conducir a errores. En algunos idiomas, hay recomendaciones para no usar tal notación [1] , en otros idiomas, la notación de las constantes octales ha cambiado (por ejemplo, ECMAScript ha prohibido las constantes octales desde la versión 5; en Python 2.6 tienen el prefijo 0o , y desde la versión 3, el uso de ceros iniciales para constantes octales) [4] [5] [6] . Algunos lenguajes más modernos, como Rust y D , prohíben dicho uso o no admiten constantes octales [4] .