Отправляет email-рассылки с помощью сервиса Sendsay

Assembler с нуля и единицы...

  Все выпуски  

Assembler с нуля и единицы... №6 Binary, Decimal, HexaDecimal


Ассемблер
с нуля и единицы
0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1
<<<
Introduction...
>>>
       Здравствуйте, дорогие читатели! Мне очень приятно уже на следующий день вновь встретится с Вами! Так уж получилось, что пока желание большое, я решил изучать больше! К тому же на данный момент у меня свободного времени туева хуча! Рад сообщить, что мы закончим сегодня двоичную СС и начнем новую, не менее важную, шестнадцатеричную СС. После опрохождения двоичной СС освоить остальные не составит проблем:) Так что вперед и с песней...

Искренне, Ваш RAITN!

<<<
Binary in Decimal
>>>
       Решение вчерашних домашних примеров приводить не буду, ведь у вас есть лучший друг - калькулятор, а в рассылке лучше размещать более полезные вещи, чем решение обычных примеров! Сегодня важнее научится переводить двоичные числа обратно в десятичную СС. Двоичная СС является позиционной, как и все СС состоящие из арабских чисел, с основанием q=2, поэтому для перевода в десятичную систему мы можем воспользоваться формулой, с которой познакомились в 3-м выпуске рассылки. На всякий случай я её повторю:

Цn* qn + Цn-1* qn-1 + ... + Ц0* q0 + Д-1* q-1 + ... + Д-k* q-k
       Давать пояснения к ней я не буду, так как это делалось раньше, а сразу попробую воспользоваться ей для перевода числа из двоичной СС в десятичную:

      Перевод числа 1001011.00101 в десятичную систему счисления:
1*26 + 0*25 + 0*24 + 1*23 + 0*22 + 1*21 + 1*20 + 0*2-1 + 0*2-2 + 1*2-3 + 0*2-4 + 1*2-5 = 75.15625
Ответ: 1001011.00101b -> 75.15625d

       Думаю, здесь все просто и понятно. Так что заострять внимание на этом я не буду. Попробуйте сами потренироваться с переводом при помощи данной формулы и укрепить знания в памяти. Вот несколько примеров для самоконтроля: 110111b -> ?d , 111.1111b -> ?d , 1010010.0001b -> ?d , 10.01b -> ?d .

Искренне, Ваш RAITN!

<<<
HexaDecimal
>>>
       Шестнадцатеричная СС - специальная система счисления, являющаяся проводником между компьютером и человеком. Эта система счисления определена на множестве цифр {0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f} и позволяет сильно сжать двоичную информацию. Человеку намного проще разбираться с коротенькими числами вида 1C, 45EF, чем сидеть и путаться в нулях и единицах, которые мы с вами только что прошли. Шестнадцатеричная СС весьма удобна в использовании ещё благодаря тому, что её без проблем можно перевести как в двоичный так и в десятиричный код. Связь между этими СС достаточно простая - одна шестнадцатиричная цифра соответствует четырем (тетраде) двоичным. Теперь перейдем непосредственно к преобразованиям.

Искренне, Ваш RAITN!

<<<
Decimal To HexaDecimal
>>>
       Чтобы перевести число из десятичной СС в шестнадцатеричную, можно воспользоваться общим правилом, т.е. последовательно делить число на 16, пока не получим остаток меньше, чем 16 (для целых чисел, или умножать на 16 (для правильных дробей). Это не совсем удобно, так как при делении или умножении легко ошибиться. Поэтому принято сначала перевести число в двоичную СС так, как мы делали это в предыдущих номерах рассылки. А потом каждую двоичную тетраду представить шестнадцатеричной цифрой. Посмотрим на примере, как перевод осуществляется 2-мя способами:

      Перевод числа 536 в шестнадцатеричную систему счисления (1-й способ):
536 : 16 = 33 (8 в остатке)
33 : 16 = 2     (1 в остатке)
2 : 16 = 0       (2 в остатке)
Ответ: 536d -> 218h (h - обозначение шестнадцатеричной СС).

      Перевод числа 536 в шестнадцатеричную систему счисления: (2-й способ):
Сначала переводим в двоичную СС:
536 : 2 = 268 (0 в остатке)
268 : 2 = 134 (0 в остатке)
134 : 2 = 67   (0 в остатке)
67 : 2 = 33     (1 в остатке)
33 : 2 = 16     (1 в остатке)
16 : 2 = 8       (0 в остатке)
8 : 2 = 4         (0 в остатке)
4 : 2 = 2         (0 в остатке)
2 : 2 = 1         (0 в остатке)
1 : 2 = 0         (1 в остатке)
Записываем в обратном порядке и сразу по тетрадам:
(слева дописываем недостатющие до тетрады нули, в данном случае нужно было дописать два нуля).
0010 0001 1000
2       1        8
Ответ: 536d -> 218h
Ответ: 536d -> 218h

       Как видим, число в шестнадцатеричной СС многим меньше десятичного эквивалента, поэтому эту СС и удобнее использовать людям! Посмотрим пример с десятичной дробью.

      Перевод числа 0.5 в шестнадцатеричную систему счисления:
Возьмем из предыдущих выпусков, что 0.5d -> 0.1b В этом примере, чтобы получить тетраду, необходимо расширить число незначащими нулями справа:
0.1b = 0.1000b
       0 . 8h
Ответ: 0.5d -> 0.8h

      Перевод числа 0.05 в шестнадцатеричную систему счисления:
Возьмем из предыдущих выпусков, что 0.05d -> 0.000011(0011)b В этом примере, чтобы получить тетраду, необходимо расширить число незначащими нулями и раскрыть период:
0.000011(0011)b = 0.0000 1100 1100 (1100)
                         0 .   0       С       С       (С)h
Ответ: 0.05d -> 0.0C(C)h

      Этот пример является более сложным, так как нам пришлось расписать периодическую дробь, чтобы получить нужные двоичные разряды. Смешанные числа переводятся так же по отдельности (отдельно целая часть, отдельно дробная). На переводе смешанных чисел я останавливаться не буду, так как это долгий и трудоемкий процесс, который на бумаге производится намного быстрее! Вскоре, когда появится сайт, я размещу фотографии с решениями разных переводов! Возможно даже будет размещен калькулятор по решению таких несложных задачек.
       Думаю, на этом стоит сегодня остановиться, и конечно же дать задание:)) Вот числа, которые должны быть представлены в шестнадцатеричном виде...
25 , 678 , 0.10, 17.75
       Перевод чисел обратно из шестнадцатеричной СС в десятичную будет рассмотрен в следующем выпуске рассылки.

Искренне, Ваш RAITN!

<<<
...In summary
>>>
       Как видно, бывает и 2 номера рассылки подряд, но это никак не сказывается на качестве материала, потому что мои знания тоже зависят от качества рассылки, а качество рассылки зависит от моих знаний, вот такая вот несуразица... До скорых встреч, дорогие программеры...

Искренне, Ваш RAITN!

<<<
As with me to communicate
>>>
Емайл: assemblermain@mail.ru

ICQ: 472-513-080

Все авторские права на данный материал принадлежат автору рассылки и перепечатываются только с его согласия!
Copyright(C) 2007, RAITN.

Искренне, Ваш RAITN!


В избранное