Cati biti de adresare sunt necesari…?

Cum am inteles aceasta cerinta si cum o voi rezolva:

Plecam de la cerinta:

Cati biti de adresare sunt necesari pentru a accesa 64MB de memorie?

Trebuie sa stim ierarhia urmatoare:

1 byte are 8 biti

1 Kbyte are 1024 bytes adica 2^10

1 Mbyte are 1.000.000 bytes adica 2^20

1 Gbyte are 1.000.000.000 bytes adica 2^30

1 Tbyte are 1.000.000.000.000 bytes adica 2^40

Acum, 64Mbytes este mai mare decat 1Mbytes, dar mai mic decat 1Gbytes.

Traducem asta conform ierarhiei de mai sus:

2^20 < 2^? < 2^30

20 inseamna ca pt 1Mbytes avem nevoie de 20 biti

30 inseamna ca pentru 1Gbytes avem nevoie de 30 de biti… Ai prins ideea?

Luam calculatorul si ne jucam cu 2 la puterea ?, unde ? este orice valoare in intervalul 20 – 30.

2^21= 2,097,152 bytes … 2Mb

2^25=33,554,432 bytes … 33Mb

2^27=134,217,728 bytes … 134Mb

2^26=67,108,864 bytes … 67Mb

Sa ne imaginam ca ultimul calcul este o galeat, daca bagam 67 de Mb cu siguranta bagam si 64 Mb.

Raspunsul este 26. Luam puterea care depasteste, dar este si cel mai aproape de valoarea cautata.

Asa am inteles eu :).

Etichetat cu: , , , , , ,
Postat in Sisteme de Calcul

Python – TextWrap – manipularea textului afisat

In lucru…

Documentatie:

https://docs.python.org/3/library/textwrap.html

My cheet sheet: 1

Sa zicem ca avem un text foarte mare si lung, de exemplu, ce spune Wiki despre Romania:

https://ro.wikipedia.org/wiki/Rom%C3%A2nia

Daca il printam direct in consola:

Si ni se cere sa-l formatam astfel incat un rand sa aiba maxim 40 de caractere.Aici, intervine textwrap

import textwrap 
text_exemplu=""" ceva text foarte lung """
print(textwrap.fill( text_exemplu ,widht=40)

text : textul dorit sa fie parsat

width : lungimea dorita(40)

Iar output-ul

Dar daca dorim sa adaugam, pentru fiecare linie, un prefix:

textwrap.indent(text_exemplu,prefix)

text : textul dorit

prefix : prefixul care va fi adaugat pentru fiecare linie

Etichetat cu: , , , , ,
Postat in Python, Uncategorized