JeuxOnLineForumsPlusConnectés : 381 (sites) | 628 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [tutorial] Les opérateurs binaires RSS
   
Répondre
Partager Outils Rechercher
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
bon Z'AVEZ PAS BIENTOT FINIS DE POURRIR MON POST AVEC VOS C........

quoi c'est moi qui ai commencé ? euh....... mais....
Lien direct vers le message - Vieux
Avatar de Skanzo Sylan
Skanzo Sylan
Empereur
 
Avatar de Skanzo Sylan
 
Oups

Désolé Azra
Lien direct vers le message - Vieux
Avatar de Ange Musicien
JOL Ange Musicien
Alpha & Oméga
 
Avatar de Ange Musicien
 
65-122-114-97-101-108-48-55 ? Comme il y a une différence de 7 entre les deux derniers, ce n'est pas très dur.

La mienne :
00100001011011100110011101100101 0100110101110101011100110110100101100011011010010110010101101110

Me suis pas trompé ?
Oh fait c'est quoi ASCII ? C'est un programme ?
Lien direct vers le message - Vieux
Avatar de gaeriel/nekresh
gaeriel/nekresh
Empereur
 
Avatar de gaeriel/nekresh
 
Le ASCII est une manière de coder les caractères en utilisant 2 chiffres en base 16.
On obtient donc des nombres de 00 à FF qui permettent de coder pas mal de choses (et en particulier des caractères) mais qui commence à être un peu limité avec la demande de nouveau support pour les nouvelles langues implantées.
Lien direct vers le message - Vieux
Avatar de Corbeau Prod
Corbeau Prod
Alpha & Oméga
 
Avatar de Corbeau Prod
 
*un fourgon arrive sur les chapeaux de roue et freine dans un crissement de pneu brûlé*

- Arrêtez-moi tout çà, et en vitesse.

*des messieurs en noir jaillissent de la porte arrière et embarquent sans ménagement tout ce petit monde qui pousse des cris divers et variés*

- 10010
- 1110100

- pendant que j'y suis, flachouillez moi tout ce beau monde, faudrait pas que les médias apprennent l'évasion de ces Bolléens..

.........

*flashouille*

.....
...
..
Lien direct vers le message - Vieux
Avatar de Caarheim/Mougeot
Caarheim/Mougeot [Epsi]
Alpha & Oméga
 
Avatar de Caarheim/Mougeot
 
Citation:
Provient du message de Skanzo Sylan
Bon et pis pour les Nor et les Nand, on fait comment?
pffff la fonction NOT s obtient en fesant : chaine^11111
et donc, on obtien la porte NOr en fesant : (chaine1|chaine2)^11111
et donc, on obtien la porte NAND en fesant : (chaine1&chaine2)^11111
voilouuuuuu, c ti pas facile tout ca ??
et en faite, l operateur ^ c est un ou exclusif , pfffffffff

:baille:



PS : et si c bien 65-122-114-97-101-108-48-55 la signature , ca se traduit par : Azrael07
Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
Citation:
- 10010
- 1110100
mais.... ca veut rien dire ca ?

Lien direct vers le message - Vieux
Avatar de Corbeau Prod
Corbeau Prod
Alpha & Oméga
 
Avatar de Corbeau Prod
 
Lui, abattez le. On ne peut plus rien pour l'aider.
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
euh, je dois bien admettre que moi non plus
Lien direct vers le message - Vieux
Avatar de Ange Musicien
JOL Ange Musicien
Alpha & Oméga
 
Avatar de Ange Musicien
 
Obscurantiste ! Le Parti des Ultra Booléens Subalternement Exhaustifs de Toute Activité Contrefaite - Car Esthétiquement Salissante, Sacrément Ostensoires et Ironiquement Rétrograde - Etants Sûrs (PUBS ET ACCESSOIRES) vous fout le doigt dans le nez ! VIve Boole ! Vive Boole ! Argggggg....
Lien direct vers le message - Vieux
Avatar de Corbeau Prod
Corbeau Prod
Alpha & Oméga
 
Avatar de Corbeau Prod
 
.....


PAN






......
__________________

Nobody Loves Crows
Lien direct vers le message - Vieux
Avatar de Ange Musicien
JOL Ange Musicien
Alpha & Oméga
 
Avatar de Ange Musicien
 
John... arrrrg... Promets moi, john... Johnnnnnn... *keuf, keuf, arrrk*... pro...promets moi... Tu diras à thérèse que je l'aime... Tu lui diras, hein john ? Johnnnnnnn... arrrrrrrrrrrrrrg... Unv vie consacrée à boole... Wo putains là j'ai les booles... Mourrir comme ça.... *keuf,keuf* ... comme un chien... Foutus flics de mes deux... Boolzébuth, mon âme est à toiiiii.... Arrrrgloglurbglirpkrurs. *expire en crachant son sang*
Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
Bon je vous arrete la pour en revenir au sujet principal : le binaire et les opérateurs booléens. J'avais promis une application dans neverwinter, en voila une.
Malheureusement je n'ai vraiment pas beaucoup de temp en se moment, alors je n'ai rien commenté ni expliqué, si quelqu'un veut le faire a ma place se serait très volontier
(le code est juste compilé, et pas testé. Il traine peut être (surement) quelques bugs

en gros, ces fonctions servent a retenir dans une seule LocalVar de type int un total de 32 informations booléennes, idéal pour retenir les variables de dialogues par exemple, sans surcharger les ressources système.

Code PHP:
//Attribue au bit de position nPosition du groupe sIntVarName la valeur bValue
//oTrgObj : Objet cible par les variables
void SetBinInfo(object oTrgObjstring sIntVarNameint nPositionint bValue TRUE)
{
    
int iNumber;
    
int iCount 0;
    for(
iNumber nPositioniNumber 0iNumber -= 32)
        
iCount++;
    
string sStringName sIntVarName AdjustDecimal(IntToString(iCount));
    
int nVar GetLocalInt(oTrgObjsStringName);
    if(
bValuenVar nVar | (<< (32 nPosition));
    else 
nVar nVar & (4294967294 << (32 nPosition));
    
//Je ne sais pas comment faire pour mettre des variables directement en binaire (peut on sur nwscripts ?)
    //il serait quand meme plus sympa de noter 11111111111111111111111111111110 plutot que 4294967294
    
SetLocalInt(oTrgObjsStringNamenVar);
}

//Renvoie la valeur du bit de position nPosition du groupe sIntVarName
//oTrgObj : Objet cible par les variables
int GetBinInfo(object oTrgObjstring sIntVarNameint nPosition)
{
    
int iNumber;
    
int iCount 0;
    for(
iNumber nPositioniNumber 0iNumber -= 32)
        
iCount++;
    
string sStringName sIntVarName AdjustDecimal(IntToString(iCount));
    
int nVar GetLocalInt(oTrgObjsStringName);
    if((
<< (32 nPosition)) & nVar) return TRUE;
    return 
FALSE;

Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Il est strange ton script : à quoi servent iCount et iNumber (surtout que tels qu'ils sont créés, iCount vaut toujours 1, à moins que la nPosition soit supérieure à 32, et dans ce cas c'est l'utilisateur qui est strange... )
(A moins que tu ne veuille effectivement permettre des nPositions supérieures à 32, mais dans ce cas, ne serait-il pas plus sûr de mettre nPosition = nPosition % 32, je ne sais pas si le NWScript apprécie les décalages négatifs, à moins que tu ais testé et qu'il se comporte comme prévu ?? )

De plus j'ai un peu peur pour le bValue == FALSE (le TRUE, pas de problème) : ta fonction va effacer tout les bits de valeur inférieure....
Je proposerais plutôt : 0xFFFFFFFF - pow(2, nPosition - 1), toujours avec un &.
Mais du coup, dans un souci de compatibilité, je remplacerais la technique du bValue == TRUE par 1 << nPosition - 1 (% 32 si tu veux plus de positions possibles) toujours avec un |. Puisque ma méthode compte les bits à partir de la droite tandis que la tienne les comptait à partir de la gauche (big endian, little endian... ).

Pour le support de l'écriture directe en binaire, j'ai un doute, même s'il serait très facile de faire une fonction de conversion de chaîne vers nombre pour ça.
Par contre, le support de l'hexa, j'en suis presque sûr, il me semble que Bioware l'as même utilisé dans l'une de ses librairies.
Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
iCount, iNumber et tout le tralala c'est pour enregistrer sur plusieurs variables int si il y a plus de 32 valeurs binaires demandées.

Citation:
Je proposerais plutôt : 0xFFFFFFFF - pow(2, nPosition - 1), toujours avec un &.
Ouaip peu être, j'ai fait la deuxième partie a l'arrache hier soir avec la fatigue qui va avec, dsl... ta solution est en effet meilleure


il me semble bien que les valeurs négatives marches, enfin on peut s'arrenger pour faire autrement, ce n'est pas très propre en effet.

Bon normalement de toutes facon je me servirais de ces fonctions dans très peu de temps, je serais donc obliger de débugger et d'arrenger, je corrigerais tout ca a cette occasion
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [tutorial] Les opérateurs binaires
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 09h16.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite