begin process at 2008 05 17 03:03:49
1 173 899 membres
32 nouveaux aujourd'hui
13 973 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SAVOIR SI UN NOMBRE EST PAIR OU IMPAIR


Information sur la source

Catégorie :Maths Classé sous : tester, parité, pair, impair, nombre Niveau : Débutant Date de création : 23/08/2000 Vu : 11 541

Note :
6,4 / 10 - par 5 personnes
6,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

xIsEven test si un nombre est pair, xIsOdd test si un nombre est impair.

Source

  • '***********************************************************************************************************
  • ' Name : xIsEven
  • ' Purpose : Test if a number is even.
  • ' Syntax : xIsEven(Number)
  • ' Parameters : Number : Number to be tested
  • ' Return : True or False
  • '***********************************************************************************************************
  • Public Function xIsEven(ByVal Number As Long) As Boolean
  • xIsEven = Not -(Number And 1)
  • End Function
  • '***********************************************************************************************************
  • ' Name : xIsOdd
  • ' Purpose : Test if a number is odd.
  • ' Syntax : xIsOdd(Number)
  • ' Parameters : Number : Number to be tested
  • ' Return : True or False
  • '***********************************************************************************************************
  • Public Function xIsOdd(ByVal Number As Long) As Boolean
  • xIsOdd = -(Number And 1)
  • End Function
'***********************************************************************************************************
' Name       : xIsEven
' Purpose    : Test if a number is even.
' Syntax     : xIsEven(Number)
' Parameters : Number : Number to be tested
' Return     : True or False
'***********************************************************************************************************
Public Function xIsEven(ByVal Number As Long) As Boolean
    xIsEven = Not -(Number And 1)
End Function


'***********************************************************************************************************
' Name       : xIsOdd
' Purpose    : Test if a number is odd.
' Syntax     : xIsOdd(Number)
' Parameters : Number : Number to be tested
' Return     : True or False
'***********************************************************************************************************
Public Function xIsOdd(ByVal Number As Long) As Boolean
    xIsOdd = -(Number And 1)
End Function 
  • signaler à un administrateur
    Commentaire de Zeroc00l le 12/05/2002 15:17:00

    Je suis tout a fait d'accord avec Wardall
    Franchement je vois pas l'interet de faire des function pour ce genre de truc.
    Mod 2 suffit amplement ...
    Mais bon on vit dans une societe libre ( ca reste a prouver ...)
    Evitez ce genre de source SVP c'est trop simple ...

  • signaler à un administrateur
    Commentaire de Arecibo le 01/06/2003 15:02:55

    Je vais peut être répeter ce qu'ont dit les autres mais un simple Mod 2 suffit...

  • signaler à un administrateur
    Commentaire de loskiller62 le 28/02/2005 15:21:13

    C'est bien ce que je pensais. Le And utilisé par Mr X est une fonction de plus bas niveau que le Mod. et est donc plus efficace.
    Après tests sur des valeurs aléatoires on peut constater que la fonction de Mr X est 10% plus rapide que la fonction utilisant le Mod.
    Vu que je travaille sur de grosses analyses vous ne m'en voudrez donc pas de préférer la solution de Mr X  :o)
    Bravo à toi! 8/10

  • signaler à un administrateur
    Commentaire de BruNews le 28/02/2005 15:43:11 administrateur CS

    Comment ça de 10% ???
    AND est une operation binaire en 1 cycle !!! alors que le modulo est une division qui emploie au bas mot de 16 à 20 cycles processeur.
    Alors qu'il suffit de tester le bit 0 pour savoir si un nombre est impair, on ne va tout de même pas aller faire une division, ce serait du délire complet.

    If nbr And 1 Then IMPAIR
    Else PAIR

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS