it-place.net > Уроци > Други
Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Асемблер за начинаещи: Глава 1 - Числа и бройни системи.
  1. Основни положения
  2. Компютри и бройни системи
  3. Компютри и бройни системи-2
  4. Компютри и бройни системи-3
  5. Компютри и бройни системи-4
     
Автор  johnfound (04.06.2004 19:34)  съобщение до автора
Погледнат  15899 пъти  добави към любими
Оценка  добави коментар
Гласове  78  изпрати на приятел
Коментари  (0)  абонирай се за Други
    Страница 1 / 5

 



В тази глава ще разгледаме въпроса за работата с различните бройни системи - как се представят числата в десетична, двоична и шестнайсетична бройна система, защо е важно да можем да работим с тези бройни системи и дали това е чак пък толкова трудно, колкото начинаещите обикновенно си мислят.

Ако тази материя ви е позната от други езици за програмиране, спокойно можете да прескочите тази глава и да преминете към следващата, където ще напишем първата си програма на асемблер.

Основни положения

Начина по който записваме едно число се нарича бройна система. Искам да подчертая още в началото, че става въпрос именно за начин на записване. Стойността на едно число остава винаги една и съща, независимо от това как го записваме.

Най-общо казано бройните системи се делят на две големи групи: позиционни и непозиционни. Пример за непозиционна бройна система са т.н. римски числа: IV e 4, XII e 12 и т.н. Всеки символ в такава бройна система има една и съща стойност, където и да се намира в числото. Например "X" е винаги равно на 10, "V" е винаги равно на 5 и т.н. Поради многото неудобства при запис и изчисленията в такива бройни системи, те не се използват при програмирането и няма да се занимаваме повече с тях.

При позиционните бройни системи (нормалната десетична система, която се изучава в училище е точно такава) записването на всяко число става с ограничен брой символи, наречени "цифри". Броят на цифрите се нарича основа на бройната система.

При десетичната система, тези цифри са десет на брой: "0".."9", при двоичната са само 2: "0" и "1" и т.н.

Реалната стойност на една цифра зависи от мястото в числото, където тази цифра е записана. Например цифрата 2 в числото 5432 е равна на две, в числото: 1121 има стойност двадесет а в числото 2345 - две хиляди.

Стойността на така записаното число е равна на сума от стойностите на всяка от цифрите му (не забравяйте, че цифрите имат различна стойност в зависимост от това, къде в числото са написани).

Например: 9999 = 9000 + 900 + 90 + 9

Как да определим стойността на цифрата, ако знаем мястото и в числото? Просто. Мястото на цифрата се брои от дясно на ляво. Най-дясната цифра се нарича "най-младша" и има номер 0. Брои се от дясно на ляво - все пак този начин на записване е измислен от арабите. И така, за горният пример:

9999 = 9.10^3 + 9.10^2 + 9.10^1 + 9.10^0  ( 10^0 = 1 )

Стойността на всяка цифра е равна на цифрата по 10 на степен мястото на цифрата в числото. Тук 10 разбира се не е изсмукано от пръстите число, а е основата на бройната система. Тази формула може да се обобщи за произволна бройна система и за произволна дължина на числото.

Ако имаме числото abcdе записано в система с основа N ще имаме:

abcde = a.N^4 + b.N^3 + c.N^2 + d.N^1 + e.N^0

Най-малката основа на бройна система може да бъде числото 2.



  Следваща страница >> 


Ключови думи: asembler начинаещ първи стъпки програмиране


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 За автора: johnfound  
Занимавам се с програмиране от 1983 година. Експерт по програмиране на Delphi и Assembler. Разбира се понякога работя и на PHP, Perl и др.под. В момента се занимавам с програмиране на автоматизирани системи за производство в голяма немска фирма в България. От 2003г започнах проект с отворен код, целта на който е разработката на съвременна среда и средства за програмиране на асемблер под Windows, конкурентна на езиците от високо ниво. Подробности за проекта можете да намерите на: http://fresh.flatassembler.net
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008