Nombre Octal de littéraux: Quand? Pourquoi? Jamais?

Je n'ai jamais utilisé la notation octale dans mon code, ni trouver le code qui l'a utilisé (en hexadécimal, et peu se tourner nonobstant).

J'ai commencé à programmer en C/C++ sur 1994 alors peut-être que je suis trop jeune pour cela? Ne plus âgés code octal? C inclut le support pour ces en ajoutant un 0, mais où est le code qui utilise ces 8 nombre de littéraux?

  • Je les utilise (sous la forme d'octal zéros) de tous les temps: if (b < 0) b = 0;
  • Je me demande si il n'y aurait aucune difficulté à définir 0q1234 comme étant le "bon" format pour les non-zéro les constantes octales, et explicitement depricating 01234 avec la recommandation que les compilateurs produire un non mortels de diagnostic? En fait, ce que je voudrais voir serait un général bits format 0[[x[0-9A-Fa-f]+]|[q[0-7]+]|[w[0-3]+]|[v[0-1]+]]+ pour permettre un mélange de 1 à 4 champs de bits, depuis le 3-champs de bits ne sont pas toujours aligné un multiple de 3 bits à partir de la droite.
  • Par coïncidence, cette question fini par, montrant AINSI en première page aujourd'hui (quelqu'un a ajouté une réponse) et Raymond Chen est arrivé de publier un article sur le octal mess aujourd'hui ainsi: La malédiction du zéro
  • La seule utilisation que j'ai vu lors de la définition de fichier open() les autorisations et les indicateurs, car ils sont généralement copiés à partir de normes de références. Mais même pour ces cas, ils ne sont pas beaucoup plus utiles que la virgule ou même représentation binaire pour les littéraux entiers.
  • Python 3 n'est donc - les constantes octales ont la forme 0o1234, tandis que l'ancien 01234 forme donne une erreur de syntaxe.
  • et ceci: esdiscuss.org/topic/...

InformationsquelleAutor Jared Updike | 2008-09-04