Comparer 2 int

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Comparer 2 int

Re: Comparer 2 int

par Ryle » 22 avr. 2011, 12:14

@stealth35 : forcément puisque :
echo 0xff; // affiche 255 et pas 0xff
Je ne remet pas en cause l'écriture hexadécimale (propre au langage comme l'a souligné Mazarini), juste le stockage de celle-ci ;)

Mais dans la mesure où l'on en train de partir en hors sujet, je vous propose (pour ceux qui le souhaiteraient) de poursuivre sur un autre topic dédié.

Ps : popy :langue:

Re: Comparer 2 int

par stealth35 » 22 avr. 2011, 11:54

Juste histoire de pinailler un peu (mais c'est popy qu'à commencé ;)) ... Un integer ne peut pas être sous forme hexa, puisqu'un integer est numérique et que l'hexa est alphanumérique (et donc un string) ... 8-|
echo gettype(0xff);
//integer

Re: Comparer 2 int

par Mazarini » 22 avr. 2011, 10:36

Bonjour,

En fait ce sont toujours des chaines des caractères qui représentent des entiers. Pour retrouver l'entier, il faut connaitre la méthode de codification de la représentation. Il y a aussi des codification pour le stockage en fonction de la machine et du langage utilisé.

Re: Comparer 2 int

par popy » 22 avr. 2011, 09:44

Juste histoire de pinailler un peu (mais c'est popy qu'à commencé ;)) ... Un integer ne peut pas être sous forme hexa, puisqu'un integer est numérique et que l'hexa est alphanumérique (et donc un string) ... 8-|
Le mec qui rejette la faute sur les autres... :p

Re: Comparer 2 int

par xTG » 22 avr. 2011, 08:05

J'aime bien le "?true:false", mais pour info les comparaisons renvoient déjà des booléens :)
Euh oui... Un moment de béatitude on va dire. :o
Juste histoire de pinailler un peu (mais c'est popy qu'à commencé ;)) ... Un integer ne peut pas être sous forme hexa, puisqu'un integer est numérique et que l'hexa est alphanumérique (et donc un string) ... 8-|
Ce n'est que la représentation qui change. Derrière c'est bien un entier qui est codé.
Tu peux essayer de faire ceci :
$a = 0x1;
$b = "0x1";
Et là je serais d'accord avec toi car le second est bien une chaîne de caractère et non un chiffre. ;)

Re: Comparer 2 int

par luvphp » 21 avr. 2011, 21:24

Super merci à tous.

Re: Comparer 2 int

par Ryle » 21 avr. 2011, 20:43

Juste histoire de pinailler un peu (mais c'est popy qu'à commencé ;)) ... Un integer ne peut pas être sous forme hexa, puisqu'un integer est numérique et que l'hexa est alphanumérique (et donc un string) ... 8-|

Re: Comparer 2 int

par popy » 21 avr. 2011, 20:02

C'est quoi l'intéret ?

J'aime bien le "?true:false", mais pour info les comparaisons renvoient déjà des booléens :)

Re: Comparer 2 int

par xTG » 21 avr. 2011, 16:28

Ou bien :
$a = 0x12;
$b = 0xFF;
var_dump((($a - $b) > 0)?true:false); // $a > $b ?
var_dump((($b - $a) > 0)?true:false); // $b > $a ?
boolean false

boolean true

Re: Comparer 2 int

par Mazarini » 21 avr. 2011, 08:24

Bonjour,

$i = hexdec('EF0A');
$j = hexdec('FFFF');
echo ($i < $j);

Edit, il est possible de faire avec $a = 0x1A; pour les constantes

Comparer 2 int

par luvphp » 21 avr. 2011, 08:16

Bonjour,

Est-il possible, si oui comment, de comparer 2 integer qui sont sous forme hexadecimal ?

Par exemple :
BF15CF22 > 7fffffff

Comment faire pour que cette inégalité me renvoie true or false ?

Merci !