2015-03-14 2 views
-3

Je cherche une représentation de nombre à 4 chiffres supérieure à 9999 Il peut également s'agir d'une valeur hexadécimale mais ne doit pas être autre chose que des nombres.Numéro supérieur à 9999 avec seulement 4 chiffres

+0

http://www.numberplanet.com/number/9999/index.html? 9999 en hexa est supérieur à 9999 en décimal. – Niols

+6

Quoi? Suis-je le seul comment ne pas comprendre ce que l'OP veut? S'il vous plaît indiquez votre question un peu plus – Rizier123

+0

il ne peut être que 4 chiffres .. hexa de 9999 contiendra également 6 chiffres soit 0x9999 – Sharat

Répondre

2

Désolé, ce n'est jamais possible. Parce que les systèmes de nombres populaires sont binaires, octaux, décimaux et hexadécimaux. Le nombre de places peut être réduit en augmentant le nombre de combinaisons.

  • binaire (0-1: deux combinaisons)
  • Octal (0-7: huit combinaisons)
  • décimal (0-9: dix combinaisons)
  • hexadécimaux (0-9 et AF: seize combinaisons)

Nous ne pouvons pas augmenter la combinaison sans ajouter d'autres caractères.

+0

Il n'y a rien de mal à "ajouter des caractères spéciaux". Prenez l'encodage BASE64, par exemple. –

3

Vous devez et non d'utiliser des contrôles de longueur pour empêcher les exploits Web. Les utilisateurs peuvent simplement désactiver javascript, ou soumettre des demandes brutes à votre serveur.

Toutefois, en fonction de votre cahier des charges, il ne semble pas comme un entier « 4 chiffres » pourrait être supérieur à 9999, comme octal a généralement un préfixe 0, hexagone a 0x et 0b binaire.

Mais:

  • nombres négatifs pourraient causer des problèmes (-999)
  • chaînes peuvent être interprétées comme des nombres (c.-à-aaaa comme 0x61616161)
  • chaînes numériques pourraient être interprétées comme telles (9e99 = 9 • 10^99> 9999)
+0

Où l'auteur a-t-il prétendu vouloir le vérifier côté client? –

+0

Vrai, ne l'a pas nécessairement mentionné. Une mauvaise idée, néanmoins. – baum

2

Je cherche un représentation y de 4 chiffres supérieur à 9999

Si vous ne se rendent pas compte, 9999 est le plus grand nombre à 4 chiffres qui existe. Cependant, une façon de représenter un nombre supérieur à 9999 dans quelque chose qui est inférieur ou égal à 4 chiffres est d'utiliser base_convert.

Par exemple:

echo base_convert (20000 , 10 , 32); // Prints jh0 

echo base_convert ('jh0' , 32 , 10); // Prints 20000 
0

F étant un chiffre hexadécimal, le plus grand nombre que vous pouvez faire avec quatre chiffres est FFFF. Si vous insistez pour avoir 9 comme valeur maximale, alors 9999 hex est tout ce que vous pouvez obtenir. Cependant, l'interprétation des lettres latines A à F n'est qu'une convention qui aurait pu être faite avec l'invention de 6 chiffres de plus. Pour l'instant ces chiffres Hapen être A à F.

+0

OP compte le '0x' comme deux chiffres; donc le plus grand nombre base-16 qui peut être fait est '0xFF' = 255. – baum

0

1e99 est un numéro valide en php, autoconverts de chaîne comme un nombre normal, et est beaucoup plus grande que 9999.

La syntaxe # e # est utilisé pour représenter notation scientifique. 1e99 est équivalent à 1 x 10^99.

+0

' INF' est beaucoup plus grand que '1e99'. –

+0

Cependant, "INF" + 0' donne 0 alors que "1e99" + 0' donne 1,0E + 99. ;) – OmnipotentEntity