« Отговор #1 -: Feb 17, 2006, 17:30 »
Клетка е най-малкото възможно количество информация в компютъра, което може да бъде идентифицирано (т.е. адресирано).
Адресът, от своя страна, е информацията, която идентифицира еднозначно дадена клетка.
Както виждаш, двете понятия са свързани: всяка клетка си има адрес, чрез който да я търсим, и на всеки адрес отговаря точно една клетка. На практика двата термина са синоними.
Клетките в паметта на компютъра са подредени последователно, а адресите им започват от 0. Адресът на всяка следваща клетка е с единица по-голям от предишния.
Размерът на клетката зависи от архитектурата на компютъра, но в повечето съвременни машини клетките са съставени от по 8 бита. Поради тази причина термините клетка и байт също са синоними.
Както казах вече, всяка клетка има собствен адрес, но също така е възможно няколко клетки да имат общ адрес. Това се получава, когато няколко последователни клетки заедно съдържат информация, която се интерпретира като едно цяло.
За да схванеш по-ясно тази концепция, ще ти дам следния пример:
В пределите на една клетка можем да запишем число между 0 и 255. Така е, защото 8-те бита могат да имат точно 256 различни състояния (256 е 2 на степен 8-ма).
16 бита, обаче, могат да поберат значително по-големи числа - от 0 до 65535. За да се възползваме от това преимущество, просто обединяваме две последователни клетки. По същия начин можем да обединим 4, 8 или повече последователни клетки, разширявайки значително диапазона на представяната информация.
Обичайно е така направените обединения да се обозначават с адреса на първата клетка от тях. Разбира се, за да извлечем информацията, трябва да знаем също и колко клетки участват в обединението, но за това обикновено се грижат компилаторите. Например, когато в езика С декларираме променлива:
long a
компилаторът автоматично заделя 4 последователни клетки и запомня адреса на първата от тях. Всеки път, когато се обърнем към въпросната променлива, компютърът ползва именнo този адрес, за да достигне до точно тези 4 клетки.