vineri, 20 decembrie 2013

Colinzi horor :)

luni, 16 decembrie 2013

Numarul pi pe 8192 de biti

O mica istorie a determinării cat mai multor zecimale a numărului pi:
  • 2000 I.Hr. – Egiptenii socoteau numărul pi ca fiind 16² / 9² sau 256/81, sau 3.16 cu o exactitate de o singura zecimala.
  • 250 I. Hr. – Filozoful grec Arhimede a fost primul care a estimat cat mai riguros numarul pi. El a realizat ca amploarea acestuia poate fi limitata inscriind cercuri in poligoane regulate si calculand perimetrele externe si interne a acestor poligoane. Folosind 96 astfel de poligoane, el a demonstrat ca 3 10/71 < ∏ < 3 10/70, adica 3.14185 – o exactitate de 3 zecimale.
  • Secolul al 16-lea – Ludolph van Ceulen din Germania a calculat numarul pi cu o exactitate de 35 de zecimale dar a murit inainte de a fi publicata descoperirea. Asa ca, aceasta a fost inscriptionata pe piatra lui funerara.
  • 1706 – Astronomul englez John Machin a descoperit o formula complicata pentru aflarea cat mai exacta a numarului pi, si a calculat cu exactitate primele 100 de zecimale.
  • 1873 – Matematicianul englez William Shanks s-a chinuit timp de 15 ani pentru calcularea a 707 zecimale dar din pacate a facut o greseala la a 528-a zecimala, rezultand ca celelalte zecimale sa fie gresite la randul lor.
  • 2004 – Yasumasa Kanada din Tokyo a calculat cu ajutorul unui computer un număr de 1.24 trilioane de zecimale a numărului pi.
Metoda ce mai rapida de calcul este folosind metoda Gauss–Legendre algorithm.
#include "stdio .h"
#include "math .h"

// Fascinating number - PI
int main ( int argv, char *argc[] )
{
    double a = 1.0;
    double b = 1.0/sqrt ( 2.0 );
    double t = 1.0/4.0;
    double x = 1.0;
    double y;

    int i;
    for ( i = 0; i < 4; i++ )
    {
        y = a;
        a = (a + b)/2.0;
        b = sqrt ( b*y );
        t -= x*(y - a)*(y - a);
        x *= 2;
    }

    double pi = (a + b)*(a + b)/(4*t);
    printf ( "%.15f\n", pi );

    return 0;
}
Dupa compilare și link editare rezulta:
$ calculPi.exe
3.141592653589794

Calcul efectiv al numărului pi l-am făcut folosind scriptul de aici.
Numărul Pi pe 8192 de biți este acesta:
pi = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736225994138912497217752834791315155748572424541506959508295331168617278558890750983817546374649393192550604009277016711390098488240128583616035637076601047101819429555961989467678374494482553797747268471040475346462080466842590694912933136770289891521047521620569660240580381501935112533824300355876402474964732639141992726042699227967823547816360093417216412199245863150302861829745557067498385054945885869269956909272107975093029553211653449872027559602364806654991198818347977535663698074265425278625518184175746728909777727938000816470600161452491921732172147723501414419735685481613611573525521334757418494684385233239073941433345477624168625189835694855620992192221842725502542568876717904946016534668049886272327917860857843838279679766814541009538837863609506800642251252051173929848960841284886269456042419652850222106611863067442786220391949450471237137869609563643719172874677646575739624138908658326459958133904780275900994657640789512694683983525957098258226205224894077267194782684826014769909026401363944374553050682034962524517493996514314298091906592509372216964615157098583874105978859597729754989301617539284681382686838689427741559918559252459539594310499725246808459872736446958486538367362226260991246080512438843904512441365497627807977156914359977001296160894416948685558484063534220722258284886481584560285060168427394522674676788952521385225499546667278239864565961163548880
O zi plăcută tuturor !

vineri, 13 decembrie 2013

Cubieboard A20 processor Dual-core Development Board

O noua serie de placi de dezvoltare au ieșit pe piață, care se pot folosi și pe post de mini computer. Cubieboard este una dintre cele mai performante placi cu specificații greu de imaginat acum câțiva ani. Aria de utilizare este destul de largă:
- mini computer personal
- sistem multimedia
- consola de jocuri
- placa de bază pentru diverse automatizări care ar avea nevoie de putere de calcul mai mare
- sistem NAS (network attached storage)
Având în vedere că am un HDD de 500GB mai vechi, cred ca o sa cumpăr o placa Cubieboard și să pun la punct un NAS. Singura problemă ar fi lipsa unei carcase în care sa încapă și HDD-ul .
Imagini cu Cubieboard:




Specificații:
  • CPU: ARM Cortex-A7 Dual-Core + 1GB DDR3 @ 960M
  • GPU: ARM Mali400MP2,Complies with OpenGL ES 2.0/1.1
  • Ethernet + 2 USB Host +1 microSD slot + 1 SATA + 1 IR + more
  • Storage: 4GB internal NAND flash, up to 64GB on uSD slot, up to 2T on 2.5 SATA disk
  • Video output: HDMI 1080p Output

Daca doriți sa cumpărați va recomand amazon uk, care livrează și în România:
Cubieboard A20 processor Dual-core Development Board
Cubieboard Acrylic Case

duminică, 8 decembrie 2013

Inlocuirea acumulatorilor surubelnitei electrice

Acumulatorii șurubelniței electrice s-au cam stricat și a trebuit sa ii înlocuiesc. A fost destul de simplu, am desfăcut șurubelnița și am dezlipit acumulatorii vechi (galbeni în fotografie) și am lipit alți acumulatori noi. Mai greu a fost pana am desfăcut carcasa, dar totul se rezolva cu un pic de forța bruta :).
Principiul de funcționare al acestor șurubelnițe nu este foarte complicat, un motor de curent continuu este acționat de niște acumulatori care pot debita un curent destul mare (pana la un amper), un întrerupător și un sistem simplu de verificare a încărcării acumulatorilor.
Dat fiind ca sunt 4 acumulatorii de tip AA 1.2 V si 800 mAh, se aplica următoarea formula:

`U_t = U_1 + U_2 + U_3 + U_4`.
unde :
`U_1 = 1.2 V`.
`U_2 = 1.2 V`.
`U_3 = 1.2 V`.
`U_4 = 1.2 V`.
rezulta: `U_t = 4 * 1.2 V = 4.8 V`.

Acum am o șurubelniță ca noua și probabil o sa încep niște proiecte de bricolaj în curând. Daca doriți sa achiziționați o șurubelniță noua, va recomand:
- Surubelnita cu acumulator Black&Decker AS36LN AutoSelect, 3,6V Li-Ion, 180 RPM, 4,8 Nm, trusa metalica + 10 Accesorii
- Șurubelniță cu acumulator Black&Decker 3,6V, 180 RPM, 3,4 Nm KC36R+ cap dublu pentru înșurubat și încărcător
- Surubelnita cu acumulator Einhell BT-SD 4,8 F, 4,8V
Weekend plăcut tuturor !