Inledande nollor i notationen av ett tal som använder ett positionsnummersystem - en sekvens av en eller flera nollor som upptar höga bitar . Begreppet inledande nollor uppstår när man använder representationer av tal som har ett fast antal siffror. I andra fall skrivs som regel inte inledande nollor.
I vissa programmeringsspråk, särskilt C / C++ , Perl (före 6) [1] [2] och Python (före 3.0), indikerar en inledande nolla före ett tal oktal . Till exempel är 0644 en bokstavlig konstant med värdet 420 10 .
En liknande syntax finns i språken Java och Ada . Statistiskt sett är användningen av oktala konstanter i C-program extremt låg (cirka 0,1% av alla bokstavliga konstanter, exklusive "0"-konstanten, tekniskt sett även oktala). Sådana konstanter behåller en viss popularitet när det gäller att beskriva rättigheterna till filer i Unix/POSIX-stilen (0666, 0750), och i vissa fall när man arbetar med bitmasker, när det är lättare för programmeraren att representera bitrepresentationen av oktala tal, snarare än hexadecimala eller dessutom decimala [3] .
Sådana regler kanske inte är uppenbara för programmerare och leder till fel. På vissa språk finns det rekommendationer att inte använda en sådan notation [1] , på andra språk har notationen för oktala konstanter ändrats (till exempel har ECMAScript förbjudit oktala konstanter sedan version 5; i Python 2.6 har de prefixet 0o , och sedan version 3, användningen av inledande nollor för oktala konstanter) [4] [5] [6] . Vissa mer moderna språk, som Rust och D , förbjuder sådan användning eller stöder inte oktala konstanter [4] .