Core


   Каталог php скриптов

Онлайн Микс:


Комментировать

07.08.2009 15:51:20

Преобразование десятичного числа в шестнадцатеричное (часть 2)

by Core @ 07.08.2009 15:51:20


1. Возьмем десятичное число и разделим его на 16. В результате мы получим число (частное), равное 4687,5. Это результат деления без остатка, но нас интересует результат деления с остатком, поскольку остаток мы используем в качестве значащих цифр числа. Для этого мы отбрасываем дробную часть числа, целочисленное частное умножаем на основание системы счисления и, вычитая результат из числа, получаем искомый остаток. В данном случае он равен 8. Шестнадцатеричный эквивалент 8 -8, поэтому число переписывается в последний столбец таблицы без изменений.

Словарь компьютерных терминов A-D
Словарь компьютерных терминов D-F
Словарь компьютерных терминов F-L
Словарь компьютерных терминов L-P
Словарь компьютерных терминов P-S
Словарь компьютерных терминов S-Z
Модели персональных компьютеров: сходство и различия
О процессорах подробно
Системные часы
Предискажения при записи
Использование DiskEdit
Минимизируйте ваши потери
Восстановление HDD
Проблемы, возникающие при установке
UART
Камера
Ваш процессор невозможно модернизировать
Полезные форумы CompuServe
2. Теперь в качестве числа используется целочисленный остаток. Он снова делится на 16, и снова нас интересует остаток от этого деления. Результат этой операции равен 15 — шестнадцатеричный эквивалент его равен F.


3. Эта п...

07.08.2009 15:47:51

Преобразование десятичного числа в шестнадцатеричное

by Core @ 07.08.2009 15:47:51


Это процедура обратная описанной выше. Давайте преобразуем число 75000 из десятичной системы в шестнадцатеричную. Такое преобразование выполняется путем деления числа на основание системы счисления с использованием остатка в качестве значащих цифр числа. Удобнее всего это показать в виде таблицы.

Табл. А.4. Преобразование десятичного числа в шестнадцатеричное

ЧислоОснование системыЧастноеЦелочисленное частноеОстатокШестнадцатеричное представление остатка
75000164687,5468788
468716292,9429215F
2921618,251844
18161,125122
1160,062501

...

07.08.2009 15:45:23

Преобразование шестнадцатеричного числа в десятичное (часть 2)

by Core @ 07.08.2009 15:45:23

Возьмем крайнюю правую цифру числа. Если она равна нулю, то мы можем перейти к следующей цифре. В нашем случае — это цифра F. Ее десятичный эквивалент — число 15. Это число надо умножить на основание системы счисления (16), возведенное в степень 0 и сохранить этот промежуточный результат. Эта цифра преобразована и ее можно отбросить.

Опять возьмем крайнюю правую цифру числа. Это цифра 1 и ее десятичный эквивалент совпадает с шестнадцатеричным. Это число надо умножить на основание системы счисления (16), возведенное в степень 1 и сохранить промежуточный результат. И эта цифра преобразована и ее тоже можно отбросить.


Аналогичные действия повторяются для всех оставшихся цифр числа до тех пор, пока все они не будут преобразованы. После этого достаточно сложить промежуточные результаты — и вы получите десятичный эквивалент шестнадцатеричного числа. В данном случае это число равно 819231.

...

07.08.2009 15:40:33

Преобразование шестнадцатеричного числа в десятичное

by Core @ 07.08.2009 15:40:33


Это не слишком сложно и в принципе можно обойтись и без этого — жизнь не остановится.

Предположим, у меня есть шестнадцатеричное число, например C801F. Я хочу преобразовать его в десятичное число. Мы будем преобразовывать его справа налево, используя степени числа 16. Удобнее всего это показать в виде таблицы (см. табл. A.З).

Табл. А.З. Преобразование шестнадцатеричного числа в десятичное

Разряды5-й4-й3-й2-й1-й
Цифры числаC801F
Десятичный эквивалент1280115
Степень числа 1616*=65536163=4096162=256161=16160=1
Произведение7864323276801615
Сумма819231

...

07.08.2009 15:39:45

Пример 2: определение перекрытия адресов ПЗУ (часть 2)

by Core @ 07.08.2009 15:39:45

3. Диапазон адресов VGA ПЗУ составляет С0000—C5FFF и конфликтует с адресами ПЗУ ScanJet — С4000—C7FFF. Эти адреса перекрываются: нижняя граница адреса ПЗУ ScanJet, равная С4000 меньше, чем верхняя граница VGA ПЗУ, равная C5FFF.


Мы кратко рассмотрели использование шестнадцатеричного представления для диапазона адресов I/O и адресов памяти. Если вы хотите узнать, как можно преобразовать шестнадцатеричные числа в десятичные (и наоборот), продолжайте читать дальше.

...

07.08.2009 15:37:19

Пример 2: определение перекрытия адресов ПЗУ

by Core @ 07.08.2009 15:37:19

Давайте рассмотрим гипотетический пример инсталляции интерфейсной карты ScanJet. Нам необходимо убедиться в том, что адреса ПЗУ, установленного на интерфейсной карте, не конфликтуют с адресами любых других ПЗУ, установленных в системе.

Предположим, что ПЗУ VGA использует адреса СООО0—C5FFF. Интерфейс сканера имеет установленный по умолчанию диапазон С4000—C7FFF. Если бы мы использовали EGA карту, то все бы сошло с рук, поскольку ПЗУ EGA заканчивается на C3FFF.

Поэтому у вас могут возникнуть определенные трудности, так что давайте рассмотрим наше положение.

1. Диапазон адресов сканера установлен по умолчанию как С4000—C7FFF. Этот диапазон значений занимает 16 К адресов.


2. Диапазон адресов EGA ПЗУ (если система использует EGA) составляет С0000— C3FFF и конфликтов с ПЗУ ScanJet не возникает. В шестнадцатеричной системе числа можно сравнивать точно так же, как и в десятичной. Если число разрядов одинаково, то достаточно сравнить крайние слева разряды. В данном случае они одинаковы и равны С, поэтому мы должны перейти к рассмотрению числа расположенного правее. Поскольку 4 идет после 3, значит С4000 будет расположено после C3FFF.

...

07.08.2009 15:33:13

Пример 1: расчет диапазона адресов в шестнадцатеричной системе

by Core @ 07.08.2009 15:33:13


Если СОМ1 использует адреса I/O с 3F8 по 3FF, то сколько адресов может использовать СОМ1?

Вычисляем: 3F8, 3F9, 3FA, 3FB, 3FC, 3FD, 3FE, 3FF — восемь адресов.

...

07.08.2009 15:28:14

Адреса памяти в шестнадцатеричном представлении (часть 3)

by Core @ 07.08.2009 15:28:14


Если вы видите, что для VGA отведена память в диапазоне адресов А0000—BFFFF, то вы знаете, что плата использует участок памяти между 640 К и 768 К. Если вы видите, что BIOS находится в диапазоне адресов FC000—FFFFF, значит он занимает верхнюю часть первого мегабайта.

А теперь — несколько примеров.

...

07.08.2009 15:24:31

Адреса памяти в шестнадцатеричном представлении (часть 2)

by Core @ 07.08.2009 15:24:31


Табл. A.2. Шестнадцатеричные и десятичные адреса памяти

Десятичный адресШестнадцатеричный адресПредшествующий шестнадцатеричный адрес
0 K0Нет
64 K100000FFFF
128 K200001FFFF
192 K300002FFFF
256 K400003FFFF
320 K500004FFFF
384 K600005FFFF
448 K700006FFFF
512 K800007FFFF
576 K900008FFFF
640 KA00009FFFF
704 KB0000AFFFF
768 KC0000BFFFF
832 KDO000CFFFF
896 KE0000DFFFF
960 KF0000EFFFF
1024 K100000FFFFF

...

07.08.2009 15:21:24

Адреса памяти в шестнадцатеричном представлении

by Core @ 07.08.2009 15:21:24

Вы помните, что типичный ПК, работая в DOS, может адресовать до 1 М памяти - 640 К для программ пользователя и 384 К для видеопамяти, ПЗУ и буферов. Давайте посмотрим, как интерпретируются адреса в шестнадцатеричной системе.

Сначала осознаем, что 1 М состоит из 16 сегментов по 64 К. Это удобно, поскольку 10000 в шестнадцатеричном представлении эквивалентно 64 К. 640 К — это 10 сегментов по 64 К, так что младшие 640 К адресного пространства простираются от 00000 до А0000 или 9FFFF. Все 64 К ступеньки адресов приведены в табл. A.2.


Табл. А. 1. Шестнадцатеричные числа и их десятичные эквиваленты

Шестнадцатеричные числаДесятичные числа
00
11
22
33
44
55
66
77
88
99
A10
B11
C12
D13
E14
F15

...

Pages: Start 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279

Tag:

Page copy protected against web site content infringement by Copyscape Rambler's Top100