Dim donnees.bit(x)

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
kelly
Messages : 176
Inscription : jeu. 09/sept./2004 16:15

Dim donnees.bit(x)

Message par kelly »

Cela n'est pas debile et je le demande officiellement :
pourrait-on pouvoir reserver un tableau de bit dans la prochaine version de PB ?
merci
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Tu veux un nouveau type de données ? des booléens ???
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Nan, à mon avis il veut que Dim tableau.bit(16) prenne deux octets de place et contienne 16 variables prenant comme valeur 0 ou 1

Dri
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Et ça reviens pas à faire un truc dans ce genre ?

Code : Tout sélectionner

Structure BIT
  Bit.b
EndStructure

Dim Tableau.BIT(15)
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Chris a écrit :Et ça reviens pas à faire un truc dans ce genre ?

Code : Tout sélectionner

Structure BIT
  Bit.b
EndStructure

Dim Tableau.BIT(15)
Si c'est ça, je ne vois pas où est la difficultée... 8O
Sauf d'inclure BIT dans les tructures prédéfinies...
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Oui, mais j'ai dit une connerie, parce que le type .b peut prendre des valeurs entre -128 et 127, pas simplement 0 ou 1
:oops:
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Donc il veut des bits (pas des Bytes..) ???
Mais de toute façon, mm en C++, un booléen n'est pas codé sur un octet, pour l'indexation des adresses mémoires ???

Sinon faut utiliser des bytes, mais utiliser des test :

Code : Tout sélectionner

a.b & 1
a & 2
a & 4
;etc..
a & 128
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

A la place de ton bit, mets un boolean :)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

lionel_om a écrit :Donc il veut des bits (pas des Bytes..) ???
Mais de toute façon, mm en C++, un booléen n'est pas codé sur un octet, pour l'indexation des adresses mémoires ???
Avec un structure je crois que c'est faisable en C... Si la structure fait un bit, elle réserve tout de même u octet en mémoire parce que c'est la plus petite zone de mémoire adressable... Donc à la rigueur en C tu peux faire une structure qui contiendrait huit champs d'un bit mais en PB...

Dri
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

La conversion bits->octets a toujours été un peu difficile sur les langages de haut niveau (qui a déjà codé une routine imprime écran sait de quoi je parle)

Un tableau de bits ça existe, tu prends n'importe quel tableau, c'en est un! Ce qu'il te manque, ce sont des procédures pour activer ou désactiver un bit. A toi de les faire, c'est pas dur tu verras, surtout que tu connais un peu l'asm (plus simple)
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Bah avec des &, | , << et >> ça le fait très bien non ???
Pas besoin d'ASM ?

HS :
Dailleurs j'apprend l'ASM en ce moment à l'UTC.
Je kiffe bien, mais je lutte un peu...
Ce n'ai pas pour tt de suite mes premières lib ou gros codes en ASM ... :?
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Répondre