Zerouri de început

Zerouri de început în notația unui număr folosind un sistem numeric pozițional  - o secvență de unul sau mai mulți biți înalți care ocupă zero . Conceptul de zerouri de început apare atunci când se utilizează reprezentări ale numerelor care au un număr fix de cifre. În alte cazuri, de regulă, zerourile de început nu sunt scrise.

În limbaje de programare pentru constante octale

În unele limbaje de programare, în special C / C++ , Perl (înainte de 6) [1] [2] și Python (înainte de 3.0), un zero înainte de un număr indică octal . De exemplu, 0644 este o constantă literală cu valoarea 420 10 .

O sintaxă similară există în limbajele Java și Ada . Statistic, utilizarea constantelor octale în programele C este extrem de scăzută (aproximativ 0,1% din toate constantele literale, excluzând constanta „0”, tehnic și octală). Astfel de constante păstrează o anumită popularitate în cazul descrierii drepturilor asupra fișierelor în stilul Unix/POSIX (0666, 0750), și în unele cazuri de lucru cu măști de biți, când este mai ușor pentru programator să reprezinte reprezentarea biților a numere octale, mai degrabă decât hexazecimale sau, în plus, zecimale [ 3] .

Este posibil ca astfel de reguli să nu fie evidente pentru programatori și să conducă la erori. În unele limbi, există recomandări de a nu folosi o astfel de notație [1] , în alte limbi, notația constantelor octale s-a schimbat (de exemplu, ECMAScript a interzis constantele octale începând cu versiunea 5; în Python 2.6 acestea sunt prefixate cu 0o , iar începând cu versiunea 3, utilizarea zerourilor de început pentru constantele octale) [4] [5] [6] . Unele limbi mai moderne, precum Rust și D , interzic o astfel de utilizare sau nu acceptă constante octale [4] .

Exemple de utilizare

Note

  1. 1 2 INT00-PL. Nu adăugați zerouri de început la literalele întregi - SEI CERT Perl Coding Standard - Confluence . Preluat la 2 octombrie 2018. Arhivat din original la 3 octombrie 2018.
  2. Să nu mai copiem C / blocnotes neclare . Preluat la 3 octombrie 2018. Arhivat din original la 3 octombrie 2018.
  3. 829 O constantă octală constă din prefixul 0 Arhivat la 11 iulie 2018 la Wayback Machine / „The New C Standard: An Economic and Cultural Commentary” (versiunea 1.2, 2009   )
  4. 12 Florian Weber. Octal Zero considerat dăunător  ( 8.4.2018). Preluat la 2 octombrie 2018. Arhivat din original la 16 decembrie 2018.
  5. Numbers - Documentație Conservative Python 3 Porting Guide 1.0 . Preluat la 2 octombrie 2018. Arhivat din original la 3 octombrie 2018.
  6. PEP 3127 - Suport literal întreg și sintaxă | Python.org . Preluat la 2 octombrie 2018. Arhivat din original la 3 octombrie 2018.

Link -uri