Førende nuller

Indledende nuller i notationen af ​​et tal ved hjælp af et positionelt talsystem  - en sekvens af en eller flere nulpunkter , der optager høje bits . Begrebet indledende nuller opstår, når man bruger repræsentationer af tal, der har et fast antal cifre. I andre tilfælde skrives indledende nuller som regel ikke.

I programmeringssprog for oktale konstanter

I nogle programmeringssprog, især C / C++ , Perl (før 6) [1] [2] , og Python (før 3.0), angiver et indledende nul før et tal oktal . For eksempel er 0644 en bogstavelig konstant med værdien 420 10 .

En lignende syntaks findes i Java- og Ada-sprogene . Statistisk set er brugen af ​​oktale konstanter i C-programmer ekstremt lav (ca. 0,1% af alle bogstavelige konstanter, eksklusive "0"-konstanten, teknisk set også oktal). Sådanne konstanter bevarer en vis popularitet i tilfælde af at beskrive rettighederne til filer i Unix/POSIX-stilen (0666, 0750), og i nogle tilfælde ved arbejde med bitmasker, når det er lettere for programmøren at repræsentere bitrepræsentationen af oktale tal, snarere end hexadecimale eller i øvrigt decimale [3] .

Sådanne regler er muligvis ikke indlysende for programmører og fører til fejl. På nogle sprog er der anbefalinger om ikke at bruge en sådan notation [1] , på andre sprog er notationen af ​​oktale konstanter ændret (f.eks. har ECMAScript forbudt oktale konstanter siden version 5; i Python 2.6 er de præfikset med 0o , og siden version 3, brugen af ​​indledende nuller for oktale konstanter) [4] [5] [6] . Nogle mere moderne sprog, såsom Rust og D , forbyder sådan brug eller understøtter ikke oktale konstanter [4] .

Eksempler på brug

Noter

  1. 1 2 INT00-PL. Sæt ikke foranstillede nuller foran heltallige bogstaver - SEI CERT Perl Coding Standard - Confluence . Hentet 2. oktober 2018. Arkiveret fra originalen 3. oktober 2018.
  2. Lad os stoppe med at kopiere C / fuzzy notesblok . Hentet 3. oktober 2018. Arkiveret fra originalen 3. oktober 2018.
  3. 829 En oktal konstant består af præfikset 0 Arkiveret 11. juli 2018 på Wayback Machine / "The New C Standard: An Economic and Cultural Commentary" (version 1.2, 2009   )
  4. 12 Florian Weber. Octal Zero anses for at være skadelig  ( 8.4.2018). Hentet 2. oktober 2018. Arkiveret fra originalen 16. december 2018.
  5. Numbers - Conservative Python 3 Porting Guide 1.0 dokumentation . Hentet 2. oktober 2018. Arkiveret fra originalen 3. oktober 2018.
  6. PEP 3127 - Integer Literal Support og syntaks | Python.org . Hentet 2. oktober 2018. Arkiveret fra originalen 3. oktober 2018.

Links