Страница: 1 |
Страница: 1 |
Вопрос: Помогите в Ассемблере
Добавлено: 07.11.07 08:20
Автор вопроса: Scay81
Доброе время суток!Форрумчане помогите мне разобраться с одной не большой штукой.Помогите разобраться с двоичной арифметикой.Почему 1+1=10 , 1+1+1=11 , и почему 01000001=65 и т.д.Обьясните как происходит сложение.Зарание благодарен.
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
Yanex
ICQ: 387761649
Вопросов: 32
Ответов: 169
Web-сайт:
Профиль | | #1
Добавлено: 07.11.07 12:50
У, это надо объяснять всю двоичную арифметику. А если нужно только складывать числа, то это делается столбиком:
10101000
10101011
+--------
101010011
Правило сложения:
0+0=0
0+1=1
1+0=1
1+1=10
10+1=11
и т.д. Тоже самое, что и в обычной арифметике, только в основании 2.
Номер ответа: 2
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #2
Добавлено: 08.11.07 14:48
Про двоичную арифметику пишется почти в каждом учебном пособии по ассемблеру. Не помню, вроде в книгах у Юрова и у Зубкова в книгах это было.
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 08.11.07 23:45
Номер ответа: 4
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #4
Добавлено: 09.11.07 01:18
Программерские недели в макдональдс!
1+1=10!!!
Номер ответа: 5
Автор ответа:
VerhoLom
Вопросов: 20
Ответов: 285
Профиль | | #5
Добавлено: 05.01.08 17:02
Правильно, 10 и будет. Вот простой ответ (так, как я эту тему понимаю, хотя, может быть, и путанно):
Любой байт состоит из 8 битов, например:
В Асме, по моим наблюдениям, все в основном строится на 16-ричных числах, а потом - уже двоичные в машинном коде. Так вот, любая цифра 16-ричного числа состоит из 4 битов, каждый из которых представляет собой 2 в степени от 0 до 3. Например, 16-ричное число FF (255 в нормальном понимании) сотсоит из таких битов:
F F
1111 1111
8421 8421 - это числа, соответствующие номерам битов
Каждый бит справа налево представляет собой число от 1 до 8: 1, 2, 4 ,8. Чтобы составить число, записанное в двоичной форме, слаживают все числа, соответствующие единичным битам. Если например, у нас есть двоичное число:
то мы его разбиваем на два блока по 4 цифры (справа налево и всегда по 4 цифры - это полубайт), тогда у нас выйдет:
1101 1001
8421 8421 - это числа, соответствующие номерам битов
Теперь слаживаем числа, соответствующие единичным битам (можно справа налево):
1 1 0 1
8+4+0+1 = 13 = 0D в 16-ричном виде
то же делаем и со вторым числом:
1 0 0 1
8+0+0+1 = 9
Итого вышло число D9 в 16-ричном виде, по-нашему - 217.
Отсюда мораль:
Уфф...
Номер ответа: 6
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #6
Добавлено: 08.01.08 03:33
точно что уфф )))
Номер ответа: 7
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #7
Добавлено: 10.01.08 13:27
Вот код на Си, который переводит двоичные числа в десятичные. Отсюда и мораль
#include <stdio.h>
main()
{
int number, residue, digit, multiplier = 1, decimal = 0;
printf("Введите двоичное число: "
scanf("%d", &number);
residue = number;
while (residue > 0)
{
digit = residue % 10;
decimal += digit * multiplier;
multiplier *= 2;
residue /= 10;
}
printf("0x%d == %d", number, decimal);
return 0;
}
Номер ответа: 8
Автор ответа:
allex7
Вопросов: 0
Ответов: 2
Web-сайт:
Профиль | | #8
Добавлено: 14.11.08 09:45
А вот где можно скачать книги и тогда все станет понятно.
http://allex72008.narod.ru
Номер ответа: 9
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #9
Добавлено: 14.11.08 15:03
Для компьютера нет такого понятия как двоичная, десятиричная, шестнадцатиричная и прочих систем счислений.
Он может работать только в двоичной, вне зависимости от того хотелось бы тебе этого или нет.
Номер ответа: 10
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #10
Добавлено: 14.11.08 15:14
Археологи, мля.
Номер ответа: 11
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #11
Добавлено: 14.11.08 17:02
Компьютер вообще не знает, что такое система счисления.