|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.05.2009, 12:10 | #1 |
Пользователь
Регистрация: 17.04.2009
Сообщений: 11
|
Двоичная система исчисления: как
Здравствуйте!
Намедни читал книжку "С++ для чайников" (для лузеров не нашел :-), а жаль, но не в это, как говорится, ссуть...) - не смог разобраться в двоичной системе счисления. В частности автор сначала представляет число 123 в десятеричной как 1*10^2+2*10^1+3*10^0, потом в восьмеричной как 123=1*8^2+7*8^1+3*8^0, а потом (как апофеоз этой феерии) - в двоичной - 123=0*128+1*64+1*32+1*16+1*8+0*4+1* 2+1*1, но я никак не могу догнать откуда здесь взялись нули (0*128 и 0*4), если кто-нибудь подскажет, то искренняя моя благодарность будет ему достойной наградой. Спасибо за внимание! |
30.05.2009, 12:51 | #2 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Может быть, в обратную сторону понятнее
Есть число в двоичной системе 1*2^9 + 1*2^8 + 1*2^7 + 1*2^6 + 1*2^5 + 1*2^4 + 1*2^3 +1*2^2 + 1*2^1 + 1*2^0 В десятичной это 1*10^3 + 0*10^2 + 2*10^1 + 3*10^0, то есть 1023. В нём есть ноль. |
30.05.2009, 15:29 | #3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
А меня в школе обучали так переводить из двоичной в десятиричную (надеюсь правильно всё помню, а то давно уже не занимался этим ):
Пусть 1111011 - число в двоичной системе счисления. Нумеруем эти числа справа на лево, начиная с нуля Перевод в 10-ую систему из системы с основанием N будет таким: A = a0*N^0 + a1*N^1 + ... + an*N^n, где i - это номер цифры, ai - это i-я цифра У нас двоичная система, а потому N = 2 Итак, число 1111011 = 1*2^0 + 1*2^1 + 0*2^2 + 1*2^3 + 1*2^4 + 1*2^5 + 1*2^6 = 1 + 2 + 0 + 8 + 16 + 32 + 64 = 123 Так же и из 8-ой системы в 10-ричную переводится, только N = 8 будет. Возьмем число 173 в 8-ричной системе и переведем его в 10-ричную систему: 173 = 3*8^0 + 7*8^1 + 1*8^2 = 3+56+64 = 123 Перевод из 10-ой системы в двоичную осуществляется столбиком. Исходное число делим на 2, остаток от деления запоминаем, а оставшуюся часть опять делим на 2 и так до тех пор, пока не "кончится число. Потом остатки "собираем" в число задом-наперед. Пример: 123 \2 __61 \ 2 1__30 \ 2 __1__15\2 ____0__7\2 _____1__3\2 _______1_1 ________1 т.е. 123 / 2 = 61 и остаток 1. 61 / 2 = 30 и остаток 1. 30 / 2 = 15 и остаток 0 и т.д. В итоге собираем все остатки и получаем: 1111011 Ну и в восьмеричную так же переводим 123: 123 \ 8 ___15\8 3____1 ____7 123 / 8 = 15 и 3 в остатке. 15 / 8 = 1 и 7 в остатке. Получаем: 173 |
01.06.2009, 07:18 | #4 |
Пользователь
Регистрация: 17.04.2009
Сообщений: 11
|
Искреннее спасибо, буду разбираться.
|
01.06.2009, 16:43 | #5 |
Регистрация: 01.05.2009
Сообщений: 3
|
В десятеричной системе число раскладывается по степеням 10:
12305 = 1 * 10000 + 2 * 1000 + 3 * 100 + 0 * 10 + 5 * 1 В двоичной же число раскладывается по степеням 2. Таким образом Вам нужно представить любое число как сумму степеней 2. Кстати, это делается единственным образом. Задача: есть число 123 в десятеричной системе счисления. Нужно представить его в двоичной. На пальцах это выглядит так: 123 < 128 но больше 64 -> 123 = 64 + 59 (= 1 * 2^6 + 59) 59 = 32 + 27 (= 1 * 2^5 + 27) 27 = 16 + 11 (= 1 * 2^4 + 11) 11 = 8 + 3 (= 1 * 2^3 + 3) 3 < 4, поэтому степень 2^2 пропускается (т. е. умножается на 0) 3 = 2 + 1 (= 1 * 2^1 + 1 * 2^0) Собираем все результаты, получаем решение. Кстати, pu4koff совершенно точно указал, как делать это в общем случае.
"Народу не нужны нездоровые сенсации. Народу нужны здоровые сенсации".
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
двоичная система счисления | galaid | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 17.05.2009 15:42 |
Двоичная система в АСМ.. | smileman | Помощь студентам | 3 | 05.11.2008 13:40 |
двоичная система | terminadoor | Помощь студентам | 1 | 21.09.2008 23:00 |
Экспертная система ...КАК? | ИЛ87 | Помощь студентам | 2 | 21.12.2007 20:44 |
16-я система исчисления:вопрос | Mustang | Общие вопросы Delphi | 4 | 23.09.2007 17:57 |