Forums

Help login failed by Plash on Jeudi, 26.Avril 2012 18:22
Second Life connection impossible by Doggy on Jeudi, 26.Avril 2012 17:25
Breedable pets et animals Second Life by aden on Samedi, 31.Mars 2012 19:13
Shapes Mesh by born Resident on Lundi, 20.Février 2012 11:20
Tuto Puppeteer by Josiane on Mercredi, 01.Février 2012 13:34
Transparence de la tenue by hani amaterasu on Vendredi, 27.Janvier 2012 22:50
Ajouter des faces, où des arêtes by brucie on Jeudi, 26.Janvier 2012 16:02

Qui est online

Nous avons 345 invités en ligne

Publicité SL

Second Life avatars 3d>>

Social



Integer, bits & groups
Note des utilisateurs: / 0
MauvaisTrès bien 
Librairie Scripts
Écrit par Garmin K   
Traduire un nombre entier en chiffres binaires présentés par groupes de 4 bits

 

//Comment extraire la valeur binaire d'un nombre [0 ou 1] et l'afficher par groupe de 4
integer iChan = 66; //canal pour passer le nombre entier en entrée

string gkInteger2Binary(integer iVal)
{
    integer iGroup = 4; //c'est le nombre de chiffres binaires par groupe
    integer iLong = 32; //c'est le type d'entier 64, 32 ou 16 bits
integer x; integer y; //itérateurs
    string sMess; //pour y ranger les 0 et 1
    y = 0;
    for(x = 0; x < 32; ++x)
    {
//Le & permet d'extraire le chiffre binaire situé à une position calculée
//en élevant 2 à la puissance donnant la position du chiffre binaire en
//partant de la droite (à partir de 0)           
//sMess contiendra la structure binaire de iVal, mais comme les chiffres binaires
//sont détectés de la droite vers la gauche, cela explique la curieuse concaténation ;
//ainsi le 0 ou le 1 sera ajouté à gauche de ce que contient déjà sMess
        if(iVal & (integer)(llPow((float)2.0, x)))
        {
            sMess = "1" + sMess;
        }
        else
        {
            sMess = "0" + sMess;
        }
        y = y + 1;
        if(y >= 4)
        {
            sMess = " " + sMess;
            y = 0;
        }
    }
    return sMess;
}
default
{
    state_entry()
    {
        llSay(0, "Entrer un nombre entier (signé ou non) : /" + (string)iChan + " nnnnnnnnnnn");
        llListen(iChan, "", NULL_KEY, "");
    }

    listen(integer iChanel, string sName, key kId, string sMessage)
    {
        llSay(0, sMessage + " ===> " + gkInteger2Binary((integer)sMessage));
    }
}

 


Placer ce script dans un cube et passer dans le chat pour dialoguer

 

 

Ajouter un Message

Si vous ne voyez pas vos messages c est que vous n êtes pas enregistré sur Avatars-3d en tant que membre. Ils seront examinés par un administrateur avant d être publié! Si vous désirez publier rapidement vos messages enregistrez vous ici

Code de sécurité
Rafraîchir