MANGACS TEAM
All for Counter strike 1.6 and more WWW.MANGACS.3XFORUM.RO WWW.MANGACS.3XFORUM.RO WWW.MANGACS.3XFORUM.RO WWW.MANGACS.3XFORUM.RO FREE DOWNLOAD - Filme noi 2016 filme noi filme comedie filme horror filme de groaza filme aventura filme actiune filme desene animate download filme gratis filme noi , filme thriller , filme gratis , jocuri full download , jocuri gratis , jocuri full , muzica noua , muzica romaneasca , hacking , torrent , jocuri free download , free download cfg silent aim ,dll , aimbot for counter strike 1.6 free download, scripts aim , eac , voiplay , Vac : WWW.MANGACS.3XFORUM.RO WWW.MANGACS.3XFORUM.RO FREE DOWNLOAD Cheat counter strike eac3 vac3 aimbot dll yahoo facebook hack aegiss
Lista Forumurilor Pe Tematici
MANGACS TEAM | Reguli | Inregistrare | Login

POZE MANGACS TEAM

Nu sunteti logat.
Nou pe simpatie:
Dulci-k
Femeie
22 ani
Giurgiu
cauta Barbat
22 - 45 ani
MANGACS TEAM / Hacking Tools / constante binare in c++ Moderat de dIeZz # 1337
Autor
Mesaj Pagini: 1
dude
Pe lista neagra

Inregistrat: acum 12 ani
Postari: 250
are va fi automat evaluat si inlocuit de compilator (deci fara nici o implicatie asupra rularii programului) cu valoarea in baza 10:3
Codul care face posibil asa ceva:

/*
* determinam la inceput cel mai mare integer care poate fi
* descris (atomic) pe o masina, pt a beneficia de cele mai
* multe lungi secvente de cifre pe o masina de 32 biti:
* 'long'(dword din asm) de maxim 10 cifre pe masini x86
* 'long long' de maxim 19 cifre pe masini x64
* (long long exista si pe masina de 32 biti, dar va
* fi simulat sau truncat)
*/
typedef long long longest_t;

/*
* clasa template, specializata numai pentru longest_t
* tot secretul aici este valoarea elementului 'value' din
* enum, care nu e precizat direct ci lasat sa fie evaluat
* prin recursivarea in alte instante ale clase template,
* adica numarul nostru 'deghizat' in binar (el fiind tot
* scris in decimal), va fi impartit pana la epuizare la
* 10, retinand resturile impartirii (adica izoland cifra
* cu cifra) apoi reinmultind cu 2 pt a schimba baza.
*/
template<longest_t N>
class bin
{
public:
enum {
value = (N % 10) + (bin<N/10>::value << 1)
};
};

/*
* ne vom opri la ultima cifra, pt a ingadui incheierea
* lantului recursivitatii si 'reimpachetarea' stivei
* acest lucru este posibil datorita specializarii (adica
* tratarii separate a) template-ului pt. cazul cand
* numarul devine 2 (acest lucru e 'fortat' de noi mai
* jos...)
*/
class bin<2>
{
public:
enum {
value = 0
};
};


Desi template-urile au realizat toata treaba pentru noi si sunt instrumente perfecte aici, operand numai in timpul compilarii, vom apela totusi la fratii lor 'vitregi': macrocomenzile, din doua motive:
# 1. e destul de ciudat a scrie bin<10>::value de fiecare cand vrem numarul 2 scris in binar
# 2. dupa cum am spus in introducere octalul ne poate juca feste, asa ca vom prefixa invizibil un 2 in fata oricui numar in noua baza, pt a inlatura orice confuzii si pt a avea si un mecanism simplu de stop.

Macro-ul este:

#define binary(n) bin<2##n>::value


De notat aici operatorul ## al preprocesorului, care lipeste direct doi operanzi sau paramatri (din a##b va rezulta ab).

Cu toate acestea puse la punct, nimeni nu ne mai opreste sa scriem de acum incolo:


binary(11) = binary(011) = binary(000000000000000011) pentru 3
binary(11111111) pentru 255
binary(100000000000000000) pentru 131072
binary(111111111111111111) pentru 262143 (maximumul in binar pe un sistem pe 32biti)



Sper sa va placa micul truc si folositi-l pe oriunde aveti ocazia sau nevoia!
Ca o nota in plus, pe acest mecanism al utilizarii templaturilor si faptul ca ele sunt evaluate de catre compilator printr-o 'pseudoexecutie', numeroase alte programe interesante se pot realiza: numarare de biti, mini calculatoare pt. constante, etc.
O nota de inspiratie personala a fost vizualizarea unui mini compilator de LISP realizat numai in template metaprogramming (exact ce am utilizat mai sus)!

Tutorial facut de dude!


pus acum 12 ani
   
nebunie;d
Mng-Team

Din: System32
Inregistrat: acum 13 ani
Postari: 729
cica tutorial facut de dude dar nu stii nici 1% din ce ai scris aici  

_______________________________________


pus acum 12 ani
   
ReYo
Activ Member

Inregistrat: acum 13 ani
Postari: 92
Chiar ca)

pus acum 12 ani
   
EDIISJKE
Gold Member

Din: Bucuresti
Inregistrat: acum 12 ani
Postari: 217
tut facut de freaka duda

pus acum 12 ani
   
cosma91
Respected Member

Din: VaLcea-CiTy
Inregistrat: acum 14 ani
Postari: 489
Ce tare e semnatura lui fuNNNNky nu mai pot de ras ))

_______________________________________


Onoare, e
Ceva ce multă lume n-are, e
Toți se calcă ๎n picioare
Doar pentru atโtea lucruri fără valoare

pus acum 12 ani
   
nebunie;d
Mng-Team

Din: System32
Inregistrat: acum 13 ani
Postari: 729
scuzati off ) dar ms

_______________________________________


pus acum 12 ani
   
Pagini: 1  

Mergi la