Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2010, 19:50   #1
veter48
Форумчанин
 
Регистрация: 26.07.2010
Сообщений: 150
По умолчанию бинарные системы счисления

Здравствуйте начал читать про бинарные системы счисления, и там такое задание для самоконтроля:
Сколько битов понадобится, чтоб каждому из 300 человек можно было бы присвоить свой бинарный идентификатор.
Как это посчитать?
veter48 вне форума Ответить с цитированием
Старый 10.09.2010, 19:58   #2
vlad_light
Пользователь
 
Регистрация: 27.08.2010
Сообщений: 95
По умолчанию

Для кодирования 2-ух человек понадобится 1 бит: 0, 1;
для 4-ёх - 2 бита: 00, 01, 10, 11;
для 2^n - n битов.
Задача решается циклом:
Код:
int i=1;
while (2^i<n) ++i;
cout<<i;
vlad_light вне форума Ответить с цитированием
Старый 10.09.2010, 20:06   #3
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Ответ девять.
дес300 = дв100101100.
И решается простым переводом десятичного числа 300 в двоичное в обычном калькуляторе.
Скандербег вне форума Ответить с цитированием
Старый 10.09.2010, 20:24   #4
veter48
Форумчанин
 
Регистрация: 26.07.2010
Сообщений: 150
По умолчанию

Цитата:
Ответ девять.
дес300 = дв100101100.
И решается простым переводом десятичного числа 300 в двоичное в обычном калькуляторе.
Хмм почему?
Объясните, пожалуйста, почему переведенное число будет равно с числом, чтоб каждый получил уникальный идентификатор?
veter48 вне форума Ответить с цитированием
Старый 10.09.2010, 20:54   #5
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Хм, не преподаватель я, чтобы доходчиво объяснить.
Если бы задали вопрос такой:
"Сколько цифр понадобится, чтоб каждому из 300 человек можно было бы присвоить свой десятичный идентификатор?" Каков был бы ответ? Скорее всего, ответили бы что 3 цифры, потому что десятичная система привычна и ответ очевиден.
Число 100101100 в двоичной системе это как раз и есть 300 в десятичной. Для трехсот человек достаточно иметь девять цифр (бит) в двоичной системе, чтобы для каждого можно было сопоставить двоичное число: для первого - "00000001", для второго "000000010", для 8-го "000001000",... для 300-го "100101100".

Последний раз редактировалось Скандербег; 10.09.2010 в 20:57.
Скандербег вне форума Ответить с цитированием
Старый 10.09.2010, 21:33   #6
veter48
Форумчанин
 
Регистрация: 26.07.2010
Сообщений: 150
По умолчанию

Спасибо вам
veter48 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Системы Счисления amki6 Помощь студентам 0 11.03.2010 18:32
Системы счисления BloodMaX Общие вопросы C/C++ 1 08.11.2009 14:46
Системы счисления бедный_студент Помощь студентам 8 18.02.2009 23:25
Системы счисления vdv08 Паскаль, Turbo Pascal, PascalABC.NET 1 08.05.2008 17:32