2010-09-21 23 views
4

Je sais que ce n'est pas exactement une question de programmation, mais c'est lié au sujet pour moi. Comment dénotez-vous différents systèmes de numération dans juste le texte? (Par texte, je veux dire capable de taper à la bonne vitesse et de ne pas copier-coller d'un autre programme.) Par exemple, si j'ai un numéro en base 2, comment puis-je le saisir pour que les autres puissent comprendre? Sur le papier, vous pouvez faire quelque chose comme (1001) 2 où 2 est un petit index. Y at-il un symbole spécifique que vous devez taper avant le 2 afin que les autres le comprennent comme indice? (L'exponentiation utilise le symbole^pour cela.) Ou est-ce tout simplement aléatoire et il n'y a pas de standard?Comment désigner différents systèmes numériques lors de la saisie?

Répondre

1

La convention que j'ai vu est que, tout comme un caret indique superscript (comme pour exponentiation), un trait de soulignement indique l'indice. La manière la plus "littérale" de traduire votre exemple en ASCII serait donc 1001_2. Je suis d'accord avec JacobM, cependant; le préfixe 0b est sans ambiguïté et peu susceptible d'être mal compris.

+0

Merci. Merci à tous. La question concernait plus la notation mathématique que la programmation elle-même. J'avais juste besoin d'un moyen pour que l'utilisateur entre différents systèmes de numération d'une manière pratique et généralement utilisée. – Johnny

0

Je pense que beaucoup de choses dépendront du comment/pourquoi/de ce que vous voulez faire des données à la fin.

Pour moi, le^est logique à utiliser, car il est rapide à taper, MAIS il pourrait être mal interprété par quelqu'un qui n'est pas familier avec la notation.

3

Une convention dans de nombreux langages de programmation est

0b1001 

où le "b" indique binaire. D'autres conventions incluent commencer par 0x pour hexadécimal et commençant par juste 0 (suivi par d'autres chiffres) pour l'octal.

1

Pour hexadécimal, préférez-le avec 0x.

0xFF 

Pour Binary, un 0b

0b101 

Pour Octal, un 0o

0o44 

Sinon, être plus explicite?

dec(123) 
hex(0AF) 
bin(101) 
oct(111) 
0

Les notations pour la base varient en fonction du langage de programmation (comme je le disais dans un commentaire à this question).

  • La notation décimale a tendance à être la valeur par défaut (aucune notation spécifique).
  • Hexadécimal a tendance à être préfixé avec # ou 0x ou utiliser le suffixe h: 0xA0, #A0 ou A0h. Des langues utilisent un préfixe 0 pour représenter une notation octale (par exemple 0777).
  • La notation binaire est moins courante (on utilise souvent la notation hexadécimale à la place, car elle rend la notation un peu plus compacte et finit par utiliser le bon remplissage pour les octets). Vous pouvez cependant utiliser 0b1010 ou 1010b. Encore une fois, cela dépend de la langue et si le compilateur le supporte.

Tout ce qui précède dépend du langage de programmation. Si c'est juste pour écrire du texte, l'une ou l'autre de ces conventions devrait le faire.Bien sûr, si vous écrivez un livre ne changez pas la convention que vous utilisez au milieu ...