Aller au contenu
San Andreas Multiplayer
C_far

Manipulation des bits

Messages recommandés

This is the support topic for the tutorial Manipulation des bits.

Please post here if you have any questions or feedback. Modifié par C_far

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour ceux qui veulent faire des tests poussés pour comprendre plus facilement toutes ces suites de 0 et de 1, j'avais posté une fonction sur le forum codée fraîchement par moi-même :

 

http://pastebin.com/k9agH2iq

stock printBinary(value)
{
    new
        strv[33],
        str[66];
       
    format(strv, sizeof(strv), "%032b", value);
   
    for(new i = 0, j = 0, bool:v = true; i < sizeof(str); i++)
    {
        switch(i)
        {
            case 0, 16, 32, 48, 64: str[i] = '|', v = true;
            default: str[i] = v ? strv[j++] : ' ', v = !v;
        }
    }
 
    print(!"+---------------+---------------+---------------+---------------+");
    print(str);
    print(!"+---------------+---------------+---------------+---------------+");
   
    print(!" ");
}

 

Hexadécimal :

main()
{
	printBinary(0xF);
	printBinary(0xFF);
	printBinary(0xFFF);
	printBinary(0xFFFF);
	printBinary(0xFFFFF);
	printBinary(0xFFFFFF);
	printBinary(0xFFFFFFF);
	printBinary(0xFFFFFFFF);
}

 

Décimal :

main()
{
	printBinary(15);
	printBinary(255);
	printBinary(4095);
	printBinary(65535);
	printBinary(1048575);
	printBinary(16777215);
	printBinary(268435455);
	printBinary(-1);
}

 

Résultat dans les deux cas :

+---------------+---------------+---------------+---------------+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0 1 1 1 1|
+---------------+---------------+---------------+---------------+
 
+---------------+---------------+---------------+---------------+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0|1 1 1 1 1 1 1 1|
+---------------+---------------+---------------+---------------+
 
+---------------+---------------+---------------+---------------+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0 1 1 1 1|1 1 1 1 1 1 1 1|
+---------------+---------------+---------------+---------------+
 
+---------------+---------------+---------------+---------------+
|0 0 0 0 0 0 0 0|0 0 0 0 0 0 0 0|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|
+---------------+---------------+---------------+---------------+
 
+---------------+---------------+---------------+---------------+
|0 0 0 0 0 0 0 0|0 0 0 0 1 1 1 1|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|
+---------------+---------------+---------------+---------------+
 
+---------------+---------------+---------------+---------------+
|0 0 0 0 0 0 0 0|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|
+---------------+---------------+---------------+---------------+
 
+---------------+---------------+---------------+---------------+
|0 0 0 0 1 1 1 1|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|
+---------------+---------------+---------------+---------------+
 
+---------------+---------------+---------------+---------------+
|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|
+---------------+---------------+---------------+---------------+

 

Modifié par C_far

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×