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
Giftofvision - Sneakers search engine | nike air max 97 lemonade yellow dress