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

Професиональное программирование


Информационный Канал Subscribe.Ru


В начало Клуб программистов Весельчак У Связаться со мной
a
Здравствуйте уважаемые подписчики.

Сегодня я посчитал наши книги. Книг получилось 63.
Постараюсь выкладывать книг побольше.

Сегодняшние обновления в книгах:

"Смертельный марш" - книжка Полное руководство для разработчика программного обеспечения по выживанию в безнадежных проектах (русский язык) от Эдварда Йордана.
Качать отсюда: http://shelek.com/club/download.php?id=102

Designing secure Web-based application for Windows 2000 от Microsoft Press и Michael Howard естественно на английском языке.
Качать здесь: http://club.shelek.com/download.php?id=103

Из статей добавлено продолжение вчерашнего дополнения - з-я часть
Внутренняя форма представления данных в компьютере и недесятичные системы счисления.

6. Ячейки, слова, полуслова, байты и недостатки восьмеричной системы.

Учитель (декламирует): "...Нам не дано предугадать, как слово наше отзовется..."
Юный программист: "А сколько байт в слове?"

Мы с вами рассмотрели вкратце восьмеричную систему счисления. Между прочим, в то время, когда программисты стали ее применять для облегчения работы с двоичными числами, знакомое нам уже понятие "байт" в компьютерах не использовалось. Вместо байтов машинная память состояла из ячеек или машинных слов. При этом у каждой машины размер слова был свой. Мне, например, довелось работать с машиной, размер слова которой был 36 бит. То есть, хранимое в одной ячейке слово состояло из 36 двоичных разрядов, что легко представить как 12 триад, а значит, записать это слово можно было с помощью 12 восьмеричных цифр. У других видов компьютеров размер слова мог быть другим.

Такой разнобой в хранении информации был вполне допустим - каждый компьютер работал отдельно, никакой речи о переносимости данных с одних видов компьютеров на другие не было, так что и проблем не было.

С развитием вычислительной техники, однако, встал вопрос о переносе данных и соответственно, о стандартизации основного "кирпичика", из которого строится память компьютера - ячейки и, соответственно, с заменой ячеек произвольного размера стандартным байтом.

При этом, однако, возникла другая проблема: 36-битную ячейку вполне можно использовать для хранения результатов реальных вычислений - как-никак, максимальное число, которое можно туда поместить, составляет несколько десятков миллиардов. Байт же для большинства вычислений маловат - ну, никак нельзя свести все вычисления к числам, не превышающим 256. Что делать?

Решение оказалось очень простым: если нам не хватает одного байта, давайте рассматривать два соседних байта как единое целое, как единое шестнадцатибитное число. А если и этого мало, давайте использовать три, четыре и т.д.

Так и поступили. При этом, в зависимости от типов компьютеров, словом стали называть два или четыре байта. Если слово четырехбайтное, может использоваться еще и комбинация из двух байтов с названием полуслово.

Все, вроде бы, хорошо, но тут неожиданно оказалось, что восьмеричная система не так уж и хороша. Давайте рассмотрим пример.

Допустим, у нас есть полуслово, содержащее какое-то значение, скажем
1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1. Разбив его на триады, получим:
1 - 0 1 1 - 1 0 0 - 1 0 1 - 1 0 0 - 0 1 1,
что соответствует восьмеричному 1 3 4 5 4 3. Обратите внимание на то, что самая первая триада - неполная.

Теперь давайте разобьем наше полуслово на составляющие его байты:
1 0 1 1 1 0 0 1 - - 0 1 1 0 0 0 1 1
Посмотрим, как в восьмеричной системе будут представляться эти байты. Опять начнем с разбиения на триады:
1 0 - 1 1 1 - 0 0 1 - - 0 1 - 1 0 0 - 0 1 1,
что соответствует восьмеричным представлениям для байтов 2 7 1 - - 1 4 3. Опять же, в каждом из байтов старшая триада - неполная.


Полностью статья здесь: http://club.shelek.com/viewart.php?id=117

На сегодня пока все.

Удачи.
С Уважением, Гром.



'); document.write(''); //-->
Globo Clicks - партнерские программы

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное