IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

FAQ PureBasicConsultez toutes les FAQ

Nombre d'auteurs : 7, nombre de questions : 68, dernière mise à jour : 3 janvier 2013  Ajouter une question

 

Bienvenue dans la F.A.Q. PureBasic !

Celle-ci va tenter de répondre aux questions les plus fréquemment posées sur le langage PureBasic et tous ses outils de programmation. Si elle n'a pas pour vocation de répondre à toutes les interrogations possibles, elle reste une bonne base de connaissances sur le PureBasic, et ne demande qu'à être enrichie par vos expériences personnelles.

Bien entendu, malgré toute l'attention qui a pu être portée à cette F.A.Q., des erreurs ont toujours pu s'y glisser. Prenez donc toutes les précautions qui s'imposent avant d'essayer un exemple.

Nous vous souhaitons une bonne lecture ! Et n'oubliez pas qu'en cas de problème, vous pourrez toujours poser votre question sur le forum PureBasic !

L'équipe PureBasic de Developpez.

SommaireLes variables (2)
précédent sommaire suivant
 

Il est souvent intéressant d'accéder aux bits d'une variable, ce qui permet, par exemple, de stocker 8 flags (nombre de bits minimal d'un char) dans un seul char plutôt que d'utiliser un char par flag.
Pour manipuler les bits, il suffit d'utiliser les fonctions binaires : (opérateur OU) pour positionner un bit, (opérateur ET) et (opérateur NON) pour enlever un bit, (opérateur ET) pour tester un bit.
Voici trois macros, permettant respectivement de positionner un flag et de lire la valeur d'un flag :

Code purebasic : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
;Remarque : dans ces macros, nous considérons que le bit de poids faible est le bit 0. 
 
Macro SET(flag, bit) 
  flag = flag | (1 << (bit)) 
EndMacro 
   
Macro GET(flag, bit)  
  ((flag) & (1 << (bit))) 
EndMacro 
 
Macro CLEAR(flag, bit)  
  flag  = Flag &~(1 << (bit)) 
EndMacro 
 
;Exemple d'utilisation 
A = 0 
Set(A,1)  
Debug RSet(Bin(A),8,"0")  
Set(A,2) 
Debug RSet(Bin(A),8,"0") 
CLEAR(A, 1) 
Debug RSet(Bin(A),8,"0")
La fonction Rset permet d'ajuster la longueur de la chaîne de caractères.

Mis à jour le 14 février 2008 comtois gl

Pour les additions, soustractions, divisions et multiplications, vous pouvez écrire vos expressions de différentes façons, exemple :

Code purebasic : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
Define.l a, b 
Define.f c, d 
 
a = 12 
b = 34 
c = 92.0 
d = 0.5 
 
;Pour incrémenter une variable  
a + 1 ; équivalent à a = a + 1 
Debug a 
 
;Pour décrémenter une variable 
c - d ; équivalent à c = c - d 
Debug c 
 
;ça fonctionne également avec la multiplication et la division 
b / 2 ; équivalent à b = b / 2 
Debug b 
 
b * 2 ; équivalent à b = b * 2 
Debug b

Mis à jour le 7 mars 2011 comtois

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.