1. Сколько бит содержится в 173,25 килобайтах ? 2. Сколько Сколько бит содержится в 16,75
PYTHONнапишите функцию которая определяет есть ли цифра в строке переданной функции функция должна вернуть значение типа Boolнапишите функцию которая … определяет есть ли буква в строке переданной функции функция должна вернуть значение типа Boolя сделал так но не работает в чем моя ошибка def number(x): print(x, x.isdigit())number (‘дай 5’)
Протокол матча. Помогите, пожалуйста, на языке Python В последнее время в одной из школ Н. Новгорода, а также на одном из факультетов ННГУ стала очень … популярна игра в настольный теннис. Игроки часто сталкиваются со следующей проблемой: довольно трудно уследить за всем ходом матча и при этом не сбиться со счёта, поэтому очень хотелось бы иметь программу, подсчитывающую счёт. Напишите программу, которая по данному протоколу матча восстановит итоговый счёт. Протокол состоит из последовательности следующих событий: service, net, out, goal, return, eom. События обозначают следующее: * service — подача (при этом игрок ударяет по мячу). service — всегда первое событие во входном файле. После него могут следовать net, out, goal, return. * net — мяч ударяется о половину поля того игрока, который ударял по мячу последним, слишком много раз. Игрок, который ударял по мячу последним, проигрывает розыгрыш. После этого события могут идти service или eom. * out — мяч уходит в аут. Игрок, который ударял по мячу последним, проигрывает розыгрыш. После этого события могут идти service или eom. * goal — игрок, который ударял по мячу последним, забивает гол (т.,е. выигрывает розыгрыш). Далее может быть service или eom. * return — игрок отбивает мяч, ударяя по нему (игроки ударяют по мячу по очереди). Далее может быть net, out, goal, return. * eom — матч окончен. Это всегда последнее событие. Когда игрок выигрывает розыгрыш, ему начисляется очко. Когда игрок проигрывает розыгрыш, очко начисляется его противнику. Подачи подаются по пять штук, т.,е. первые пять подач подаёт первый игрок, следующие пять — другой и т.д. Полное количество подач может быть не кратным пяти, в таком случае последняя серия подач будет короче пяти штук. Конечно, в реальном матче может произойти ситуация, которую невозможно описать этими событиями, но ваша программа должна считать, что весь матч описывается данными во входном файле событиями. Входные данные Во входном файле находится список событий. События расположены по одному на строке без пробелов. Последовательность событий удовлетворяет всему, что было сказано выше; пустых строк во входном файле нет (кроме, возможно, строк после события eom). Всего событий не более 50000. Выходные данные В выходной файл выведите два числа: очки того, кто подавал первым, потом — очки его противника. Пример #1 Входные данные service goal service out service net service return return return out service return goal service goal eom Выходные данные 2 4 Пример #2 Входные данные service out eom Выходные данные 0 1
что будет если установить wnindows на диск с файлами? удалятся они или нет?
Инфрмация НЕ должна быть
Здравствуйте, помогите пожалуйста с решением задачи, желательно с обЬяснением: Дана постфиксная (обратная польская) запись арифметическоговыражения: x … a + x * b + x * c + x * d + x * e +. Постройте бинарное дерево, задающее этовыражение, покажите порядок обхода вершин дерева, позволяющий вычислить значениеэтого выражения, вычислите значение этого выражения для x=2, a=1, b=2, c=3, d=4, e=5.
Компакт-диск (CD) хранит около 4,8 x 109 бит информации на площади 96см2. Эта информация записана в виде двоичного кода (т.н. каждый бит — это или 1, … или 0). Сколько CD-дисков потребуется, чтобы записать информацию, хранящуюся в геноме человека?
дан текст, состоящий из двух символов, принимающих значения в диапазоне «a»-«z» или «0»-«9», сколько бит необходимо для записи такого текста минимальн … о?
Construct 2 работа с .exe Я хотел спросить на счёт работы с .exe файлами 1:Возможно сделать так что бы скомпелированный проект в Construct 2 мог созда … вать сторонние exe файлы? 2:Можно ли сделать так что бы можно было указать в скомпелированной программе указать что бы сохранялась допустим картинка которая была выбрана через FileChoose? 3:Можно ли что бы в скомпл. Проэкт заканчивался выборочно exe файл опять таки же через filechoose или другой плагин и потом открывался? *Буду благодарен за ответы
Плиииз!!! Срочно! Помогите.
Сколько существует различных четырехзначных чисел записанных в восьмеричной системе счисления в записи которых есть ровно две одинаковые цифры причем … стоящие рядом? Уже два часа голову ломаю…
1. Сколько бит содержится в 173,25 килобайтах ? 2. Сколько Сколько бит содержится в 16,75
PYTHONнапишите функцию которая определяет есть ли цифра в строке переданной функции функция должна вернуть значение типа Boolнапишите функцию которая … определяет есть ли буква в строке переданной функции функция должна вернуть значение типа Boolя сделал так но не работает в чем моя ошибка def number(x): print(x, x.isdigit())number (‘дай 5’)
Протокол матча. Помогите, пожалуйста, на языке Python В последнее время в одной из школ Н. Новгорода, а также на одном из факультетов ННГУ стала очень … популярна игра в настольный теннис. Игроки часто сталкиваются со следующей проблемой: довольно трудно уследить за всем ходом матча и при этом не сбиться со счёта, поэтому очень хотелось бы иметь программу, подсчитывающую счёт. Напишите программу, которая по данному протоколу матча восстановит итоговый счёт. Протокол состоит из последовательности следующих событий: service, net, out, goal, return, eom. События обозначают следующее: * service — подача (при этом игрок ударяет по мячу). service — всегда первое событие во входном файле. После него могут следовать net, out, goal, return. * net — мяч ударяется о половину поля того игрока, который ударял по мячу последним, слишком много раз. Игрок, который ударял по мячу последним, проигрывает розыгрыш. После этого события могут идти service или eom. * out — мяч уходит в аут. Игрок, который ударял по мячу последним, проигрывает розыгрыш. После этого события могут идти service или eom. * goal — игрок, который ударял по мячу последним, забивает гол (т.,е. выигрывает розыгрыш). Далее может быть service или eom. * return — игрок отбивает мяч, ударяя по нему (игроки ударяют по мячу по очереди). Далее может быть net, out, goal, return. * eom — матч окончен. Это всегда последнее событие. Когда игрок выигрывает розыгрыш, ему начисляется очко. Когда игрок проигрывает розыгрыш, очко начисляется его противнику. Подачи подаются по пять штук, т.,е. первые пять подач подаёт первый игрок, следующие пять — другой и т.д. Полное количество подач может быть не кратным пяти, в таком случае последняя серия подач будет короче пяти штук. Конечно, в реальном матче может произойти ситуация, которую невозможно описать этими событиями, но ваша программа должна считать, что весь матч описывается данными во входном файле событиями. Входные данные Во входном файле находится список событий. События расположены по одному на строке без пробелов. Последовательность событий удовлетворяет всему, что было сказано выше; пустых строк во входном файле нет (кроме, возможно, строк после события eom). Всего событий не более 50000. Выходные данные В выходной файл выведите два числа: очки того, кто подавал первым, потом — очки его противника. Пример #1 Входные данные service goal service out service net service return return return out service return goal service goal eom Выходные данные 2 4 Пример #2 Входные данные service out eom Выходные данные 0 1
что будет если установить wnindows на диск с файлами? удалятся они или нет?
Инфрмация НЕ должна быть
Здравствуйте, помогите пожалуйста с решением задачи, желательно с обЬяснением: Дана постфиксная (обратная польская) запись арифметическоговыражения: x … a + x * b + x * c + x * d + x * e +. Постройте бинарное дерево, задающее этовыражение, покажите порядок обхода вершин дерева, позволяющий вычислить значениеэтого выражения, вычислите значение этого выражения для x=2, a=1, b=2, c=3, d=4, e=5.
Компакт-диск (CD) хранит около 4,8 x 109 бит информации на площади 96см2. Эта информация записана в виде двоичного кода (т.н. каждый бит — это или 1, … или 0). Сколько CD-дисков потребуется, чтобы записать информацию, хранящуюся в геноме человека?
дан текст, состоящий из двух символов, принимающих значения в диапазоне «a»-«z» или «0»-«9», сколько бит необходимо для записи такого текста минимальн … о?
Construct 2 работа с .exe Я хотел спросить на счёт работы с .exe файлами 1:Возможно сделать так что бы скомпелированный проект в Construct 2 мог созда … вать сторонние exe файлы? 2:Можно ли сделать так что бы можно было указать в скомпелированной программе указать что бы сохранялась допустим картинка которая была выбрана через FileChoose? 3:Можно ли что бы в скомпл. Проэкт заканчивался выборочно exe файл опять таки же через filechoose или другой плагин и потом открывался? *Буду благодарен за ответы
Плиииз!!! Срочно! Помогите.
Сколько существует различных четырехзначных чисел записанных в восьмеричной системе счисления в записи которых есть ровно две одинаковые цифры причем … стоящие рядом? Уже два часа голову ломаю…
Раздел долгосрочного плана: 5.2А: Информация и ее обработка | Школа: | ||||||||||||||||
Дата: | ФИОучителя: | ||||||||||||||||
Класс: 5 КЛАСС | Количество присутствующих: | отсутствующих: | |||||||||||||||
Темаурока | Измерение информации
|
| |||||||||||||||
Цели обучения, которые достигаются на данном уроке (ссылка на учебную программу) | 5.2.1.2определять и использовать префиксы кило, мега, гига и терра по отношению к единицам измерения информации | ||||||||||||||||
Цели урока
| — уметь решать задачи на биты и байты — уметь различатькило, мега, гига,терабайты
| ||||||||||||||||
Критерии оценивания | 1. Знают в чем измеряется информация 2. Имеют понятия о битах и байтах 3. Умеютпереводить из одной единицы измерения в другую | ||||||||||||||||
Языковые цели
| Смогутобъяснитьтермины: Информация, биты, байты, единицы измерения информации, килобайты, мегабайты, терабайты Формулируются для неязыковых предметов. Определите языковые цели, включая примеры лексики и фраз. Лексика и терминология, специфичная для предмета: Информация, биты, байты, единицы измерения информации, килобайты, мегабайты, терабайты | ||||||||||||||||
Привитиеценностей
|
| ||||||||||||||||
Межпредметныесвязи | Математика | ||||||||||||||||
Навыки использования ИКТ
| Использование интернета и браузера для поиска нужной информации | ||||||||||||||||
Предварительные знания
| Информация, формы представления информации | ||||||||||||||||
Ходурока | |||||||||||||||||
Запланированныеэтапыурока/ | Запланированная деятельность на уроке
| Ресурсы | |||||||||||||||
Начало урока 5 мин
10 мин
| Подготовка группы к уроку. Учитель начинает урок с демонстрации фрагмента мультфильма «38 попугаев» (4.30-7.50 мин.) о том, как измеряли удава в мартышках, попугаях, слонах.
Обсуждает с учащимися вопросы: — Какими единицами измерения пользовались герои для того, чтобы измерить удава? — Какими единицами измеряется время? — Какими единицами измеряется расстояние? — Какими единицами измеряется температура? — А знаете ли Вы какими единицами измеряется информация? | Демонстрация видео-файла по ссылке: https://www.youtube.com/watch?v=8tzmTQIAv28 | |||||||||||||||
10 мин
Середина урока 2 мин
3 мин
10 мин
2 мин
|
Учитель демонстрирует соотношение единиц измерения информации. 1 байт (Б) = 8 бит (б) 1 Килобайт (кБ) = 1 024 Б 1 Мегабайт (мБ) = 1 024 кБ 1 Гигабайт (гБ) = 1 024 мБ 1 Терабайт (тБ) = 1 024 гБ 1 Петабайт (пБ) = 1 024 тБ
Ученики в парах строят таблицу для вычисления соотношений «бит», «байт» с префиксами «кило», «мега», «гига», «тера».
Ученики индивидуально упорядочиваютединицы измерения информации в порядке убывания/возрастания: 1 гБ 1кБ 1025 Б 1 мБ
Ученики индивидуально выполняют практическое задание: Задания на единицы измерения: 1. Сколько бит содержится в 16,75 байтах? 2. Сколько бит содержится в 173,25 килобайтах? 3. Сколько терабайтов содержится в 6363 гигабайтах? 4. Сколько мегабайтов содержится в 27,5 гигабайтах? 5. Сколько мегабайтов содержится в 568328 байтах? 6. Сколько байтов содержится в 4,25 мегабайтах? 7. Сколько мегабайт информации содержит сообщение объемом 232 бит? 8. Сколько бит информации содержит сообщение объемом 256 мегабайт?
Учитель проверяет задание.
Домашняя работа:
Заполнить таблицу
| Презентация учителя
Практическое задание в презентации
| |||||||||||||||
Конец урока 3 мин | Прием рефлексии Ученики пишут по 3 предложения по теме урока, что они поняли на уроке или что нового они узнали. Затем из этих трех предложений выбирают по одному ключевому слову, всего 3 слов. Эти слова должны совпадать с целями урока или обучения.
|
| |||||||||||||||
Дифференциация – каким образом Вы планируете оказать больше поддержки? Какие задачи Вы планируете поставить перед более способными учащимися?
| Оценивание – как Вы планируете проверить уровень усвоения материала учащимися?
| Здоровье и соблюдение техники безопасности | |||||||||||||||
Все учащиеся:
| Используйте данный раздел для записи методов, которые Вы будете использовать для оценивания того, чему учащиеся научились во время урока. | Здоровьесберегающие технологии. Используемые физминутки и активные виды деятельности. Пункты, применяемые из Правил техникибезопасности на данном уроке. | |||||||||||||||
Рефлексия по уроку/
Были ли цели урока/цели обучения реалистичными? Все ли учащиеся достигли ЦО? Если нет, то почему? Правильно ли проведена дифференциация на уроке? Выдержаны ли были временные этапы урока? Какие отступления были от плана урока и почему? | Используйте данный раздел для размышлений об уроке. Ответьте на самые важные вопросы о Вашем уроке из левой колонки. | ||||||||||||||||
| |||||||||||||||||
Общая оценка Какие два аспекта урока прошли хорошо (подумайте как о преподавании, так и об обучении)? 1: 2: Что могло бы способствовать улучшению урока (подумайте как о преподавании, так и об обучении)? 1: 2: Что я выявил(а) за время урока о классе или достижениях/трудностях отдельных учеников, на что необходимо обратить внимание на последующих уроках? | |||||||||||||||||
Сайт по информатике преподавателя Кузнецова С.А.
Проверочная работа № 2. Тема: алфавитный подход к измерению информации.
6 заданий. ( время 15 минут ).
(Во всех заданиях обязательно записывать решение)
———————————————————————————————
Тренировочный вариант №1.
1. Алфавит содержит 32 буквы. Сколько бит информации несет 1 символ.
2. Из 16 одинаковых, но разноцветных шаров наугад выбрали один. Сколько бит информации несет сообщение о том, то выбрали белый шар?
3. Сообщение записанное буквами 8 символьного алфавита содержит 25 символов. Какой объем информации оно несет?
4. Сообщение записанное буквами 64 символьного алфавита содержит 15 символов. Какой объем информации оно несет?
5. Определить мощность алфавита, если 30 символов заняли 22,5 байт.
6. Определить мощность алфавита, если 20 символов заняли 12,5 байт.
———————————————————————————————
Тренировочный вариант №2.
1. Алфавит содержит 16 букв. Сколько бит информации несет 1 символ.
2. Из 64 одинаковых, но разноцветных шаров наугад выбрали один. Сколько бит информации несет сообщение о том, то выбрали синий шар?
3. Сообщение записанное буквами 128 символьного алфавита содержит 25 символов. Какой объем информации оно несет?
4. Сообщение записанное буквами 32 символьного алфавита содержит 30 символов. Какой объем информации оно несет?.
5. Определить мощность алфавита, если 40 символов заняли 35 байт.
6. Определить мощность алфавита, если 45 символов заняли 33,75 байт.
———————————————————————————————
Нормы оценок: 1 и 2 задания — 0,5 балла, 3, 4, 5, 6 задания по 1 баллу.
НА ПРОВЕРОЧНУЮ РАБОТУ НЕ ЗАБУДЬТЕ ВЗЯТЬ С СОБОЙ КАЛЬКУЛЯТОР.
(ПОЛЬЗОВАТЬСЯ СОТОВЫМИ ТЕЛЕФОНАМИ ЗАПРЕЩЕНО).
Задачи по теме «Представление данных»
1. Задачи по теме «Представление данных»
1. Сколько бит содержится в 18,25 байтах?146
2. Сколько килобайтов содержится в 520192 битах?
63,5
3. Сколько килобайтов содержится в 2195 байтах?
2,143
4. Сколько килобайтов содержится в 98,5 мегабайтах?
100864
5. Сколько мегабайтов содержится в 568328 байтах?
0,541
6. Сколько мегабайтов содержится в 14,5 терабайтах?
15 204 352
7. Сколько бит информации содержит сообщение
объемом 256 мегабайт? Ответ записать степенью двойки.
231
8. Считая, что каждый символ кодируется шестнадцатью битами,
оцени в байтах информационный объем следующей фразы:
Чем больше знает человек, тем он сильнее!
82 байта
9. Алфавит содержит 32 буквы. Какое количество информации несет
одна буква?
32=25 – 5 бит
10. Информационное сообщение объемом 300 бит содержит 100
символов. Какова мощность алфавита?
300/100=3 бит на 1 символ, 23 = 8 символов
11. Сообщение, записанное буквами из 16 символьного алфавита,
содержит 10 символов. Какой объем информации в битах оно
несет?
16=24, 4*10=40 бит
12. Ученик 10 класса читает текст со скоростью 250 символов в
минуту. При записи текста использовался алфавит,
содержащий 64 символа. Какой объем информации в
байтах получит ученик, если будет непрерывно читать 20
минут?
250*20=5000 символов; 64=26, 5000*6=30000 бит = 3750 байт
13. Какой должна быть минимальная длина равномерного
двоичного кода, если требуется составить 18 различных
комбинаций?
24=16
14. Сколько информации содержит красный сигнал светофора?
2 бита
15. Во время игры в кости на игральном кубике выпало число 1.
Сколько информации содержит это сообщение?
3 бита
16. Автоматическое устройство осуществило перекодировку
текста, первоначально записанного в 16-ти битном коде
Unicode в 8-битную кодировку KOI8-R. При этом
информационный объем текста уменьшился на 240 бит.
Какова длина текста в символах?
16Х-8Х=240, Х=30
17. Автоматическое устройство осуществило перекодировку
информационного сообщения, первоначально
записанного в 8-битном коде, в 16-битную кодировку
Unicode. При этом информационное сообщение
увеличилось на 2048 байт. Какова длина текста в символах?
16Х-8Х=211байт,
Х=211=2048.
18. После преобразования растрового 256-цветного
графического файла в черно-белый формат (2 цвета) его
размер уменьшился на 70 байтов. Каков был размер
исходного файла?
8Х-Х=70*8, Х=80; 80/8*8=80 байтов.
19. Какой минимальный объём памяти (в Кбайт) нужно
зарезервировать, чтобы можно было сохранить любое
растровое изображение размером 128 × 256 пикселей при
условии, что в изображении могут использоваться 64
различных цвета?
64=26, отсюда I = 6 бит. 128*256*6=27*28*3*2=196608 бит.
(27*28*3*2)/(23*210)=(3*216)/213=3*23=24 Кбайта
20. Скорость передачи данных через модемное соединение равна
56 бит/сек. Передача текстового файла через это соединение
заняла 12 сек. Определите, сколько символов содержал
переданный текст, если известно, что он был представлен в
кодировке Unicode?
56*12=672, 672/16=42
21. Скорость передачи данных скоростного ADSL соединения равна
1024000 бит/c, а скорость передачи данных через 3G-модем
равна 512000 бит/с. Определите на сколько секунд дольше будет
скачиваться файл размером 9000 Кбайт через 3G-модем, чем
через ADSL-соединение. (Ответ дайте в секундах)
9000 Кбайт = 9000 * 213 бит.
По ADSL: 1024000 бит/с = 1000*210 бит/с,
(9000*213)/(1000*210) = 9*23 = 9*8=72 с.
По 3-G: 512000 бит/с = 1000*29бит/с,
(9000*213)/(1000*29) = 9*24 = 9*16=144 с.
144 — 72 = 72 с.
22. Метеорологическая станция ведет наблюдение за температурой
воздуха, фиксируя ее каждый час. Температура представляется
целым числом, изменяется в пределах от -30 до +30 градусов.
Каждое значение температуры записывается минимально
возможным целым количеством битов. Каков информационный
объем результатов измерений за сутки в битах?
Количество различных значений температуры – 61.
Для хранения одного требуется 6 бит (26=64),
тогда за сутки – 24*6=144 бита
23. В велокроссе участвуют 119 спортсменов. Специальное
устройство регистрирует прохождение каждым из участников
промежуточного финиша, записывая его номер с
использованием минимально возможного количества бит,
одинакового для каждого спортсмена. Каков информационный
объем сообщения, записанного устройством, после того как
промежуточный финиш прошли 70 велосипедистов?
Количество спортсменов – 119.
Для хранения одного требуется 7 бит (27=128),
70*7 =490
24. Исполнитель РОБОТ живет на клеточном поле размером 6 строк
на 8 столбцов. Каждая клетка может иметь верхнюю, нижнюю,
левую и правую стены. Для кодирования состояния (наличия стен)
каждой клетки используется минимально возможное и
одинаковое количество битов. Для кодировки клеток одной строки
используется минимально возможное и одинаковое количество
байтов. Определите объем памяти для хранения состояния
клетчатого поля.
Для кодирования одной клетки нужно 4 бита,
для 8 клеток одной строки – 4 байта,
для все таблицы – 6*4=24 байта.
25. Каждая клетка поля 8×8 кодируется минимально возможным и
одинаковым количеством бит. Решение задачи о прохождении
«конем» поля записывается последовательностью кодов
посещенных клеток. Каков объем информации после 11
сделанных ходов? (Запись решения начинается с начальной
позиции коня)?
8*8 = 64, 64 = 26
На один ход нужно 6 бит.
На 11 – 6*(11+1) = 72 бит = 9 байт
26. Растровое изображение имеет размер 3×4 дюйма и
разрешение 96 dpi. Каждая точка может иметь один из 256
оттенков серого цвета. Какой минимальный объем памяти
(Кбайт) необходим для хранения этого изображения?
3*96*4*96= 3*3*25*22*3*25=27*212 – размер изображения,
256 оттенков – 1 байт, 27*22 =108 Кбайт
27. Сканируется цветное изображение стандартного размера А4
(21*29,7 см). Разрешающая способность сканера 1200dpi и
глубина цвета 24 бита. Какой информационный объём будет
иметь полученный графический файл?
1дюйм=2,54 см
S=(21/2,54)*(29,7/2,54)=8,3дюймов*11,7дюймов
K=1200*8,3*1200*11,7=139210118 пикселей
V=139210118*24=3341042842бита=
=417630355байт=407842Кб=398Мб
28. Внутренняя память смартфона имеет объем 8 Гбайт. Изображения и
фотографии могут иметь максимальное разрешение 640 на 480
пикселей. Определите максимально возможное количество
фотографий, считая, что для их размещения можно использовать
свободные 45 Мбайт памяти. Глубина цвета 24 бит, изображения не
сжаты, служебная информация не учитывается.
640*480=27*5*15*25 = 75*212 (размер),
3*75*212 (количество памяти на 1 фотографию),
45*220 (всего памяти).
45*220/(3*75*212) = 28/5=256/5=51,2 – 51 фотография
29. Часть страниц многотомной энциклопедии является цветными
изображениями в шестнадцати цветовой палитре и в формате 320 ×
640 точек. Страницы, содержащие текст, имеют формат — 32 строки
по 64 символа в строке. Сколько страниц книги можно сохранить на
жестком магнитном диске объемом 20 Мб, если каждая девятая
страница энциклопедии — цветное изображение?
Глубина цвета равна 4 (24 =16). 4 320 640 = 819200 бит = 102400 байт =100 Кбайт –графика
32 64 = 2048 символов = 2048 байт = 2 Кбайт – текст
Пусть Х – число страниц с графикой, тогда страниц с текстом в 8 раз больше, т.е. 8Х. Все
страницы с графикой будут иметь объем 100Х, а все страницы с текстом – объем 2* 8Х=16Х.
Известно, что диск составляет 20 Мб = 20480 Кб.
100Х + 16Х = 20480. Х ≈ 176, 5 ≈177 – страниц с графикой.
177*8 =1416 страниц с текстом.
1416+177 = 1593 страниц энциклопедии.
30. Какое время потребуется для прослушивания моно
звуковой записи объемом 6875 Кбайт, если частота
дискретизации 22 кГц, глубина кодирования звука 8 бит?
8 бит=1 байт, 6875 Кбайт= 7040000 байт,
7040000/1/22000=320 сек=5 мин 20 сек.
31. В распоряжении пользователя имеется память объемом 2,6
Мб. Необходимо записать цифровой аудиофайл с
длительностью звучания 1 минута. Какой должна быть
частота дискретизации если разрядность адаптера 1 байт
(2 байта)??
2, 6 Мбайт= 2726297,6 байт
D* I =А/Т= 2726297,6 байт: 60 = 45438,3 байт
D=45438,3 байт. I
Разрядность адаптера — 8 или 16 бит. (1 байт или 2 байта).
Частота дискретизации может быть
либо 45438,3 Гц = 45,4 кГц ≈ 44,1 кГц (стандартная)
либо 45438,3/ 2 = 22719,15 Гц = 22,7 кГц ≈ 22,05 кГц (стандартная)
32. Какой объем памяти потребуется для хранения одной
минуты стерео звуковой записи, если частота
дискретизации 44,1 кГц, для кодирования звука используется
16 бит?
44100*60 – количество измерений в минуту, 16 бит – 2
байта, для стереозвука – 2 сигнала, следовательно,
44100*60*2*2 = 10 584 000 байт = 10,1 Мбайт
33. Вычислить, сколько байт информации занимает на
компакт-диске одна секунда стереозаписи (частота 44032
Гц, 16 бит на значение). Какова максимальная емкость
диска (считая максимальную длительность равной 80
минутам)?
1) 1с х 2 х 44032 Гц = 88064 байт
(1 секунда стереозаписи на компакт-диске)
2) 4800с х 2 х 44032 Гц = 422707200 байт=
412800 Кбайт=403,125 Мбайт (80 минут)
34. Вы хотите работать с изображениями, имеющими
разрешение 1600Х1200 пикселей, используя 16 777 216
цветов. В магазине продаются видеокарты с памятью 512
Кбайт, 2 Мбайта, 4Мбайта и 64 МБайта. Какие из них можно
купить для вашей работы? Подойдут ли выбранные
видеокарты для обработки изображений такого же размера,
но с глубиной цвета 32 бита/пиксель?
16 777 216 = 2563, т.е. глубина цвета =3 байта,
размер изображения – 1600*1200=1920000,
объем необходимой памяти –
1920000*3=5760000 байт ≈ 5,5 Мб,
следовательно, только видеокарта с 64 Мбайт.
Если глубина цвета равна 32 бита/пиксель, то потребуется
1920000*4=7680000 байт = 7,5 Мбайт.
Выбранная видеокарта подойдет.
35. Аналоговый звуковой сигнал был дискретизирован сначала с
использованием 256 уровней интенсивности сигнала
(качество звучания радиотрансляции), а затем с
использованием 65536 уровней интенсивности сигнала
(качество звучания аудио-CD). Во сколько раз различаются
информационные объемы оцифрованного звука?
256 = 28
65636 = 216
16 / 8 = 2.
36. Кадры видеозаписи закодированы в режиме истинного цвета
(24 бита на пиксель) и сменяются с частотой 25 кадров в
секунду. Кадр имеет размеры 720Х480 пикселей. Частота
дискретизации 22 кГц, глубина кодирования звука 16 бит.
Оцените объем минуты видеозаписи в мегабайтах (с
точностью до десятых), если файл записан с 10-ти кратной
степенью сжатости. Сколько минут такого фильма
поместится на флэш-карте объемом 3 Гбайта?
1 кадр – 720*480*3= 1036800 байт,
1 сек видео – 1036800*25= 25920000 байт
1 сек звука — 22000*2(байта)*2(канала)=88000 байт
1 сек — 25920000 байт +88000 байт = 26008000 байт ≈ 24, 81 Мбайт
1 мин – 24, 81*60 = 1488 Мбайт
10 кратное сжатие – 148, 8 Мбайта на 1 минуту.
3072 /148, 8 ≈ 20 минут
37. Какой объем будет иметь видео передаваемое с
разрешением кадра 800 х 600 пикселей с 24 битовой
глубиной цвета, скоростью воспроизведения 24 кадра в
секунду и длительностью 5 минут. Известно, что стереозвук,
наложенный на видео имеет 256 уровней громкости, частота
дискретизации равна 11250 Гц.?
5 мин = 300 сек
800*600*24=11520000 бит ≈1,37Мб (графика)
256 = 28 (8 бит)
11250*8*2*300 = 54000000 бит ≈ 6,4 Мб (звук)
1,37*24*300 + 6,4 =9870б4 Мб≈ 9,6 Гб
Для тренировки можно порешать задачи на сайте по ссылке
http://
files.school-collection.edu.ru/dlrstore/a12b2b83-f353-4b69-88b8-b7eb29dfd642/9_36.swf
Задачи на измерение информации
|
КАК: Понимание бит и байтов
Термины бит и байты в компьютерной сети относятся к стандартным единицам цифровых данных, передаваемых по сетевым соединениям. Для каждого 1 байта имеется 8 бит.
Префикс «мега» в мегабитах (мегабайт) и мегабайт (МБ) часто является предпочтительным способом выражения скорости передачи данных, поскольку он имеет дело с битами и байтами в тысячах. Например, ваша домашняя сеть может загружать данные со скоростью 1 миллион байт в секунду, что более правильно записывается как 8 мегабит в секунду или даже 8 Мбит / с.
Некоторые измерения дают биты для массивных значений, таких как 1 073 741 824, а именно, сколько бит находится в одном гигабайте (что составляет 1,024 мегабайта). Более того, терабайты, петабайты и экзабайты даже больше мегабайт!
Как создаются биты и байты
Компьютеры используют биты (короткие для двоичные цифры ) представлять информацию в цифровой форме. Компьютерный бит является двоичным значением. Когда они представлены в виде числа, биты могут иметь значение либо 1 (один), либо 0 (ноль).
Современные компьютеры генерируют биты от более высоких и низких электрических напряжений, проходящих через схемы устройства. Компьютерные сетевые адаптеры преобразуют эти напряжения в те и нули, необходимые для физической передачи битов по сети, процесс, иногда называемый кодирование .
Способы кодирования сетевых сообщений различаются в зависимости от среды передачи:
- Соединения Ethernet несут биты с использованием электрических сигналов с переменным напряжением
- Wi-Fi передает биты с использованием радиосигналов с различными частотами
- Волоконные соединения используют импульсы света для переноса бит
Байт — это просто бит бит с фиксированной длиной. Современные компьютеры организуют данные в байтах, чтобы повысить эффективность обработки данных сетевого оборудования, дисков и памяти.
Примеры бит и байт в компьютерной сети
Даже обычные пользователи компьютерных сетей будут сталкиваться с битами и байтами в обычных ситуациях. Рассмотрим эти примеры.
IP-адреса в сети Интернет протокола версии 4 (IPv4) состоят из 32 бит (4 байта). Например, адрес 192.168.0.1 имеет значения 192, 168, 0 и 1 для каждого из его байтов. Биты и байты этого адреса кодируются так:
11000000 10101000 00000000 00000001 Скорость, с которой данные проходят через компьютерное сетевое соединение, традиционно измеряется в единицах бит в секунду (бит / с). Современные сети способны передавать миллионы или миллиарды бит в секунду, называемые мегабит в секунду (Мбит / с) а также гигабит в секунду (Gbps) , соответственно. Итак, если вы загружаете файл размером 10 МБ (80 МБ) в сеть, который может загружать данные со скоростью 54 Мбит / с (6,75 МБ), вы можете использовать приведенную ниже информацию о конверсиях, чтобы найти, что файл можно загрузить всего за секунду (80/54 = 1,48 или 10 / 6,75 = 1,48). Совет: Вы можете узнать, как быстро ваша сеть может загружать и загружать данные с сайта проверки скорости интернета. Напротив, компьютерные запоминающие устройства, такие как USB-накопители и жесткие диски, передают данные в единицах байтов в секунду (Bps). Легко смешивать два байта в секунду — Bps с капиталом «B», в то время как бит в секунду использует строчную букву «b». Беспроводные ключи безопасности, такие как WPA2, WPA и старый WEP, представляют собой последовательности букв и цифр, которые обычно записываются в шестнадцатеричном формате. Шестнадцатеричная нумерация представляет каждую группу из четырех бит как одно значение, либо число от нуля до девяти, либо букву между «А» и «Ф.», Клавиши WPA выглядят следующим образом: 12345678 9ABCDEF1 23456789 AB Сетевые адреса IPv6 также обычно используют шестнадцатеричную нумерацию. Каждый адрес IPv6 содержит 128 бит (16 байт), например: 0: 0: 0: 0: 0: FFFF: C0A8: 0101 Очень просто вручную преобразовать значения бит и байта, когда вы знаете следующее: В качестве примера, чтобы преобразовать 5 килобайт в биты, вы должны использовать второе преобразование, чтобы получить 5 120 байт (1,024 Х 5), а затем первым получить 40 960 бит (5, 120 X 8). Более простой способ получить эти преобразования — использовать калькулятор, такой как бит-калькулятор. Вы также можете оценить значения, введя вопрос в Google. Как конвертировать биты и байты
без знака — Расчетные биты, необходимые для хранения десятичного числа
Здесь много ответов, но я добавлю свой подход, так как я нашел этот пост, работая над той же проблемой.
Начиная с того, что мы знаем, это число от 0 до 16.
Число, закодированное в битах, минимальное количество бит для кодирования
0 000000 1
1 000001 1
2 000010 2
3 000011 2
4 000100 3
5 000101 3
6 000110 3
7 000111 3
8 001000 4
9 001001 4
10 001010 4
11 001011 4
12 001100 4
13 001101 4
14 001110 4
15 001111 4
16 010000 5
глядя на разрывы, он показывает эту таблицу
число <= количество бит
1 0
3 2
7 3
15 4
Итак, как теперь вычислить паттерн?
Помните, что основание журнала 2 (n) = основание журнала 10 (n) / основание журнала 10 (2)
число logb10 (n) logb2 (n) ceil [logb2 (n)]
1 0 0 0 (особый случай)
3 0.477 1,58 2
7 0,845 2,807 3
8 0,903 3 3 (особый случай)
15 1,176 3,91 4
16 1.204 4 4 (особый случай)
31 1,491 4,95 5
63 1,799 5,98 6
Теперь желаемый результат соответствует первой таблице. Обратите внимание, что некоторые значения также являются частными случаями. 0 и любое число, являющееся степенью 2. Эти значения не меняются, когда вы применяете потолок, поэтому вы знаете, что вам нужно добавить 1, чтобы получить минимальная длина битового поля.
Чтобы учесть особые случаи, добавьте единицу к входным данным. Результирующий код, реализованный на Python, выглядит так:
из журнала импорта математики
из математического импорта ceil
def min_num_bits_to_encode_number (a_number):
a_number = a_number + 1 # изменить на 1 для особых случаев
# логарифм нуля не определен
если 0 == a_number:
возврат 0
num_bits = int (ceil (log (a_number, 2))) # logbase2 доступен
возврат (num_bits)
Сборка- Сколько байтов в одном адресе?
Ваш вопрос связан с этим.
Или это от архитектуры зависит?
Да. Зависит от архитектуры:
Для большинства процессоров один адрес представляет 8 бит .
Каждый байт в памяти имеет индивидуальный адрес.
TMS320 DSP является примером ЦП, где один адрес представляет 16 бит .
Это означает, что каждое 16-битное слово ( uint16
) в памяти имеет индивидуальный адрес.
Есть также компьютеры (многие из них исторические), где каждый адрес представляет 12 , 13 , 14 , 16 , 24 или 36 бит (и, возможно, даже больше) ...
(К сожалению, я не знаю примера процессора, использующего 64-битные адреса, не использующего 8 бит на адрес, но я совершенно уверен, что такие процессоры также существуют.)
Тогда есть типы памяти, в которых не все адреса существуют. Это может выглядеть так:
Адреса, которые делятся на 4, представляют 32 бита информации; другие адреса использовать нельзя - это означает, что эти адреса представляют без информации вообще.
Таким образом, «среднее» по адресам составляет 8 бит, но нет адреса, который представлял бы 8 бит.
Обычно такое поведение наблюдается на компьютере, на котором установлены два разных типа памяти, причем один из них допускает как 8-, так и 32-разрядный доступ, а другой тип допускает только 32-разрядный доступ.
И это часто бывает с памятью периферийных устройств - например, с памятью контроллера Ethernet в некоторых микроконтроллерах.
Насколько я правильно помню, я видел контроллер PCI SCSI для ПК, который также демонстрировал такое поведение.Установите этот контроллер SCSI на свой 64-битный компьютер, и ваш компьютер будет содержать некоторый диапазон адресов, где 25% всех адресов представляют 32 бита данных, а 75% всех адресов вообще не представляют никаких данных.
Я также видел процессоры, разработанные студентами университетов, где «коммерческий оригинал» допускает 8- и 32-битный доступ к памяти, а студенческая реплика допускает только 32-битный доступ. В этом случае весь диапазон адресов демонстрирует такое поведение.
Кстати:
На 64-битной машине мы знаем, что адрес равен 8 байтам.
Даже это не обязательно так:
Насколько мне известно, процессор x86-64 использует только 48-битные адреса. Поэтому производитель компилятора мог бы хранить каждый адрес только в 6 байтах памяти.
И, конечно, ядра ЦП для встраиваемых устройств могут быть разработаны для использования подмножества набора инструкций x86-64, но регистры, которые обычно содержат адрес (например, rsp
), имеют ширину всего 48 бит.
без знака - Расчетные биты, необходимые для хранения десятичного числа
Здесь много ответов, но я добавлю свой подход, так как я нашел этот пост, работая над той же проблемой.
Начиная с того, что мы знаем, это число от 0 до 16.
Число, закодированное в битах, минимальное количество бит для кодирования
0 000000 1
1 000001 1
2 000010 2
3 000011 2
4 000100 3
5 000101 3
6 000110 3
7 000111 3
8 001000 4
9 001001 4
10 001010 4
11 001011 4
12 001100 4
13 001101 4
14 001110 4
15 001111 4
16 010000 5
глядя на разрывы, он показывает эту таблицу
число <= количество бит
1 0
3 2
7 3
15 4
Итак, как теперь вычислить паттерн?
Помните, что основание журнала 2 (n) = основание журнала 10 (n) / основание журнала 10 (2)
число logb10 (n) logb2 (n) ceil [logb2 (n)]
1 0 0 0 (особый случай)
3 0.477 1,58 2
7 0,845 2,807 3
8 0,903 3 3 (особый случай)
15 1,176 3,91 4
16 1.204 4 4 (особый случай)
31 1,491 4,95 5
63 1,799 5,98 6
Теперь желаемый результат соответствует первой таблице. Обратите внимание, что некоторые значения также являются частными случаями. 0 и любое число, являющееся степенью 2. Эти значения не меняются, когда вы применяете потолок, поэтому вы знаете, что вам нужно добавить 1, чтобы получить минимальная длина битового поля.
Чтобы учесть особые случаи, добавьте единицу к входным данным. Результирующий код, реализованный на Python, выглядит так:
из журнала импорта математики
из математического импорта ceil
def min_num_bits_to_encode_number (a_number):
a_number = a_number + 1 # изменить на 1 для особых случаев
# логарифм нуля не определен
если 0 == a_number:
возврат 0
num_bits = int (ceil (log (a_number, 2))) # logbase2 доступен
возврат (num_bits)
Инструмент преобразованияслов в байты
Armazenamento De DadosBit
Bit - это базовая единица вооружения цифровой информации.É um acrônimo para dígito binário. Cada bit registra uma das duas respostas Possíveis a uma única pergunta: 0 ou 1, sim ou não, ligado ou desligado. Quando um dado является представителем como binário (base 2) números, cada dígito binário é um único bit. (Em 1946, палавра «бит» для изобретенного американского ученого из вычислений Джона Тьюки.)
Байт
Байт - это единая информация, используемая в вычислительной технике. Refere-se a uma unidade de memória endereçável. Seu tamanho Pode Variar dependendo da máquina или linguagem de computação.На главном уровне контекста um byte é igual - 8 бит (или 1 октет). (Em 1956, есть единое целое с именами инженеров IBM, Вернер Буххольц.)
Caráter
Нет информации в цифровом формате, т.е.
Gibibyte
Гибибайт - это многократный байт, единое целое с цифровой информацией, prefixados pelas normas base multiplicador gibi (símbolo Gi). O símbolo da unidade de gibibyte é GiB.
Gigabit
Gigabit - это единое целое для цифровой информации или передачи.Размер составляет 1024 мегабит, 1048576 килобит или 1073741824 бит
Gigabyte
Gigabyte - это единое хранилище цифровых данных. Размер 1024 мегабайта, 1,048,576 килобайта, или 1073741824 байта
Kibibyte
O Kibibyte (символ KiB, сокращение двоичного байта в килобайтах) является одним из основных средств массовой информации электронной коммерции, созданной в 2000 году. ) como: 1 кибибайт = 1,024 байта
килобит
килобит - это единый блок цифровой информации или передачи.É igual a 1024 бит.
Kilobyte
Kilobyte É uma unidade de armazenamento de dados digitais. Размер 1024 байта.
Mebibyte
Múltiplo do byte, unidade de armazenamento de informação digital, prefixado pelo multipliermebi padrões de base (símbolo Mi). Символы унидад де мебибайт é MiB.
Мегабит
Мегабит - это единое целое для цифровой информации или передачи. É igual 1024 килобит или 1.048,576 бит.
Мегабайт
Мегабайт - это единая упаковка цифровых данных. Размер составляет 1024 или 1,048,576 байта.
Mword
Нет цифрового информационного наполнения, мм Mword имеет 4 байта или 32 бита.
Nibble
Nibble - Sucessão de quatro cifras binárias (биты) [1]. Полубайт = 4 бита, 2 полубайта = 1 байт = 8 бит, 4 полубайта = 1 слово = 2 байта = 16 бит
Петабит
Петабит - это единый блок цифровой информации или передачи.É igual 1024 терабайт, 1048576 гигабит, 1073741824 мегабит.
Петабайт
Петабайт - это единый арсенал цифровых данных. Размер 1024 терабайта, 1.048.576 гигабайт, 1073741824 мегабайт.
Qword
Нет цифрового информационного наполнения, но Qword имеет 8 или 64 бита.
Tebibyte
O tebibyte é um múltiplo do byte, uma unidade de armazenamento de informação digital, prefixados pelas normas base multiplicador Tebi (símbolo Ti).О символах единства тебибите TiB.
Terabit
Terabit - это единое целое для цифровой информации или передачи. É igual a 1024 гигабайта, 1048576 мегабит, 1073741824 килобит.
Терабайт
Терабайт - это единое целое с цифровыми данными. Размер 1024 гигабайта, 1.048.576 мегабайт, килобайт 1073741824.
Палавра
Нет цифрового информационного наполнения, может быть 2 байта или 16 бит.
нумерация - Сколько бит в цифре в десятичной системе счисления
Заявление об ограничении ответственности - я не теоретик информации, а просто кодовая обезьяна, которая работает в основном на C и C ++ (и, следовательно, с типами фиксированной ширины), и мой ответ будет с этой конкретной точки зрения.
Для представления одной десятичной цифры требуется в среднем 3,2 бита - от 0 до 7 могут быть представлены 3 бита, а для 8 и 9 требуется 4. (8 * 3 + 2 * 4) / 10 == 3,2
1 .
Это менее полезно, чем кажется. Во-первых, у вас явно нет долей бита. С другой стороны, если вы используете собственные целочисленные типы (т.е. не BCD или BigInt), вы не сохраняете значения как последовательность десятичных цифр (или их двоичных эквивалентов). 8-битный тип может хранить некоторые значения, содержащие до 3-х десятичных цифр, но вы не можете представить все 3-х десятичные цифры в 8-битном формате - диапазон составляет [0..255]
. Вы не можете представить значения [256..999]
только в 8 битах.
Когда мы говорим о значениях , мы будем использовать десятичное число, если приложение ожидает этого (например, приложение цифрового банкинга). Когда мы говорим о битах , мы обычно используем шестнадцатеричный или двоичный код (я почти никогда не использую восьмеричный, поскольку я работаю с системами, которые используют 8-битные байты и 32-битные слова, которые не делятся на 3).
Значения, выраженные в десятичном формате, не соответствуют точным двоичным последовательностям.Возьмите десятичное значение 255
. Двоичные эквиваленты каждой цифры будут 010
, 101
, 101
. Тем не менее, двоичное представление значения 255
- это 11111111
. Просто нет соответствия между и десятичными цифрами в значении двоичной последовательности. Но есть прямое соответствие с шестнадцатеричными цифрами - F == 1111
, так что это значение может быть представлено как FF
в шестнадцатеричном формате.
Если вы работаете в системе, где 9-битные байты и 36-битные слова являются нормой, то восьмеричное число имеет больше смысла, поскольку биты естественным образом группируются в тройки.
- На самом деле среднее значение на цифру меньше, поскольку 0 и 1 требуют только одного бита, а 2 и 3 требуют только 2 бита. Но на практике мы считаем, что от 0 до 7 занимают 3 бита. Просто во многом облегчает жизнь.
Основы кэширования
Проблема Решение:
Отображение Адрес к блоку многословного кэша
1) Рассмотрим кеш с 64 блоками с 64 блоками и размером блока 16 байт.Какому номеру блока соответствует байт-адрес 1200?
Ответ: Блок задается (адресом блока) по модулю (Количество кеш-памяти). блоков)
Где Адрес блока - Байтовый адрес / Байт за такт
Уведомление что его блочные адреса - это блок, содержащий все адреса между (адрес байта / байтов за такт) * байтов за такт и ( Byteaddresss / байтов на блок) * байтов на блок + (байтов на блок - 1)
Таким образом, с 16 байтами за такт, адрес байта 1200 - адрес блока (1200/16) = 75, что соответствует номеру блока кеша (75 по модулю 64) = 11
бит в кэше
2) Как много общих битов требуется для кеш-памяти с прямым отображением с 64 КБ данных и блоки из одного слова при 32-битном адресе?
Ответ: Мы знаем, что 64 КБ - это 64К слов, что составляет 2 в 14 степени. слов, а при размере блока в одно слово 2 в степени 14 блоки.Каждый блок содержит 32 бита данных плюс тег, который равен 32-14-2. биты плюс допустимый бит. Таким образом, общий размер кеша составляет (от 2 до мощность 14) * 49 = 784 бита или 98 КБ для кеш-памяти размером 64 КБ. Для этого cache, общее количество битов в кеше более чем в 1,5 раза столько, сколько необходимо только для хранения данных.
бит и байтов ⋆ Марк МакДоннелл
Введение
Итак, это немного случайное путешествие по различным компьютерным предметам.Вещи, которые, как мне казалось, я должен попытаться лучше понять. Некоторые из них будут очень простыми, но, надеюсь, они будут полезны тем, кто плохо знаком с технологиями и заинтересован в изучении этих вещей (или старым собакам вроде меня, которые должны знать лучше).
Бит
Слово бит является сокращением от двоичной цифры .
Бит - это либо 1
(истина), либо 0
(ложь).
Компьютеры понимают только двоичный формат (т. Е. Base-2)
Мы обсуждаем «базовые» числа ниже
Байт
Группа из восьми битов называется байтом .
Прочтите следующий раздел, чтобы понять, почему я упоминаю этот лакомый кусочек информации
RAM
Слово ram является аббревиатурой от оперативной памяти .
Это нестабильная память.
Это означает, что он теряется при перезапуске вашего компьютера и сохраняется только в течение всего времени существования программы, использующей его.
RAM состоит из битов, но каждый сегмента памяти на самом деле представляет собой группу из восьми битов (которая, как мы уже знаем, называется байтом ).
Короче говоря, можно сказать, что ОЗУ состоит из байтов.
байта имеют уникальную нумерацию, чтобы облегчить поиск их содержимого.
Уникальный номер байта также называется его адресом .
Визуализация битов и ОЗУ
Мы видим, что с каждым битом связано значение, которое вычисляется с использованием степени по основанию 2 (мы вскоре рассмотрим базовые числа).
Итак:
- 2 0 = 1
- 2 1 = 2
- 2 2 = 4 (т.е.
2 * 2
) - 2 3 = 8 (т.е.
2 * 2 * 2
) - 2 4 = 16 (т.е.
2 * 2 * 2 * 2
) - 2 5 = 32 (т.е.
2 * 2 * 2 * 2 * 2
) - 2 6 = 64 (т.е.
2 * 2 * 2 * 2 * 2 * 2
) - 2 7 = 128 (т.е.
2 * 2 * 2 * 2 * 2 * 2 * 2
)
С помощью этой информации мы можем определить присвоенное значение, сложив числа, связанные с единицами и нулями.
Итак, на изображении мы видим, что четыре бита заданы 1
(вкл.), А остальные - 0
(выкл.), Что означает, что если мы сложим все связанные значения битов, которые «включены», мы получим 99
(например, 64 + 32 + 2 + 1
).
Базовые битовые операторы
Возможно, вы видели битовые операторы, такие как <<
или >>
, и задавались вопросом, что они означают (обычно называемые «побитовыми операторами»). По сути, они манипулируют битами.
Вот несколько примеров:
64 >> 1 = 32
1 << 3 = 8
1 << 7 = 128
1 << 15 = 32768
Итак, если мы будем иметь в виду более раннее изображение наших 8 бит в байтовом представлении памяти, и что каждый бит имеет свое собственное значение (как описано выше), мы можем увидеть (например), что если мы начнем с 64
и перемещен вправо на 1
бит, следующий бит будет иметь значение 32
. Следовательно, 64 >> 1
дает значение 32
.
Точно так же, если мы начнем с битового значения 1
и переместимся влево на 15
бит, мы вернем результат 32768
, потому что, хотя мы показали только восемь битовых пробелов выше, вы можете просто оставить перемещение влево ( 64 * 2 = 128
, 128 * 2 = 256
, теперь продолжайте идти еще семь раз, пока не дойдете до пятнадцатого бита ... 256 * 2 = 512
, 512 * 2 = 1024
, 1024 * 2 = 2048
, 2048 * 2 = 4096
, 4096 * 2 = 8192
, 8192 * 2 = 16384
, 16384 * 2 = 32768
).
Чтобы узнать больше о побитовых операторах, обратитесь к этим сообщениям: https://wiki.python.org/moin/BitwiseOperators и https://medium.com/learning-the-go-programming-language/bit-hacking-with-go -e0acee258827
бит и ASCII
ASCII - это набор кодов, где каждая «кодовая точка» представляет текстовый символ, например 1
, a
, z
, !
, ?
и т. Д.
Каждой кодовой точке соответствует двоичное число. Например, a
имеет двоичное число 0110 0001
, которое, если мы сложим значения, связанные с этими конкретными битами, мы обнаружим, что это даст номер кодовой точки 97
.В ASCII символ a
является кодовой точкой 97
.
Биты и числа
1 килобайт (или 1 КБ) равен 1024 байтам.
1024 байта - это 8192 бита ( 8192/8
или 8 * 1024
, в зависимости от того, что вы предпочитаете)
Следующее объяснение взято из «Начало C» издательства Apress Publishing…
Вы можете спросить, почему мы не работаем с более простыми, более округленными числами, такими как тысяча, миллион или миллиард. Причина в следующем: существует 1024 числа от 0 до 1023, а 1023 - это 10 битов, которые в двоичном формате равны 1: 11 1111 1111, что является очень удобным двоичным значением.Таким образом, хотя 1000 - очень удобное десятичное значение, на самом деле оно довольно неудобно для двоичной машины - это 11 1110 1000, что не совсем аккуратно. Таким образом, килобайт (1024 байта) определяется способом, который удобен для вашего компьютера, а не для вас.
Итак, если мы сложим 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
(обратите внимание, это берет существующее 8-битное вычисление из приведенного выше изображения и продолжает его для еще двух бит), мы получаем 1023
.
IP-адресов
Вот пример IPv4 IP:
216.27.61.137
IPv4 IP-адреса выражаются в десятичном формате.
Примечание. IPv6 IP-адреса - это восемь 4-значных шестнадцатеричных чисел,
, которые представляют 16 бит каждое (всего 128 бит)
например,2001: 0db8: 0a0b: 12f0: 0000: 0000: 0000: 0001
Чтобы перевести вышеуказанный IP-адрес в двоичную форму (чтобы компьютер мог его обработать), мы могли бы использовать приведенное выше изображение визуализации, чтобы помочь нам. Конечный результат будет выглядеть так:
11011000.00011011.00111101.10001001
Что разбивается на:
-
11011000
: 128 + 64 + 16 + 8 = 216 -
00011011
: 16 + 8 + 2 + 1 = 27 -
00111101
: 32 + 16 + 8 + 4 + 1 = 61 -
10001001
: 128 + 8 + 1 = 137
Это объясняет, почему каждое из четырех чисел в десятичной версии (например, 216.27.61.137
) называется октетами, поскольку они представляют восемь битов (или «байт», как мы узнали ранее) при просмотре в двоичной форме.
Это также объясняет, почему IPv4 IP считаются 32-битными числами, потому что, если вы сложите каждый из битов вместе (то есть общее количество битов, а не значение, присвоенное каждому биту), вы обнаружите, что всего 32 бита. которые составляют IP.
Каждый бит может иметь два разных состояния (1 или ноль), что означает, что общее количество потенциальных комбинаций на октет может быть 28 или 256. Это означает, что каждый октет может содержать потенциальное значение от нуля до 255. Это означает, что если бы мы должны были объединить четыре октета, мы потенциально можем иметь 4 294 967 296 вариантов.
Мы видим, что десятичное представление IPv4 IP состоит из четырех чисел с основанием 10 (216, 27, 61, 137). Где каждое из этих четырех чисел представляет двоичный эквивалент (216 = 11011000, 27 = 00011011, 61 = 00111101, 137 = 10001001), который является представлением байта (или октета) по основанию 2.
Если вы не знаете, что такое основные числа и как они работают, читайте дальше…
Базовые числа
Стоит быстро рассказать, что такое базовые числа, поскольку они помогают нам понять другие различные протоколы, которые мы используем на регулярной основе, такие как двоичные и такие вещи, как IP-адреса.
Любое число может быть представлено несколькими способами с использованием другой базовой системы нумерации.
Существует множество систем нумерации, но наиболее типичными из тех, к которым мы привыкли, являются:
- База 10 (десятичная)
- База 2 (двоичная)
- База 8 (восьмеричная)
- Основание 16 (шестнадцатеричное)
Стандартная система счисления, с которой мы (как люди) больше всего знакомы, называется основанием 10 и состоит из следующих чисел:
0,1,2,3,4,5,6,7,8,9
Обратите внимание, что здесь десять чисел, поэтому она называется системой с основанием 10
Если бы мы посмотрели на такое число, как 66
, то это означало бы, что это число состоит из 6 десятков и шести единиц.
Эти числа (0–9) представляют собой «целые числа», в то время как в системе с основанием 10 мы также можем использовать десятичную точку для представления десятичных дробей числа (например, 1,2
).
Ниже приведено изображение, предоставленное Дженни Эзер, которое помогает нам визуализировать эту модель:
«Базовое число» - это количество чисел в системе. Итак, base-10 имеет 10 чисел (0,1,2,3,4,5,6,7,8,9), тогда как двоичный - base-2, потому что он использует только два числа (0, 1).
Если вы хотите узнать единицу измерения, которую представляет каждое число в системе (мы будем использовать в качестве примера основание 10, благодаря следующей визуализации, предоставленной Дженни Эзер), тогда вы вычисляете это, используя степень основного числа.
Итак, согласно приведенной выше визуализации, мы видим:
- 10 3 :
10 * 10 * 10
: 1000 (в тысячах) - 10 2 :
10 * 10
: 100 (сотни) - 10 1 :
10
: 10 (десятки) - 10 0 :
1
: 1 (шт.)
Итак, на практике, если у вас есть число вроде 75
и вы хотите представить его как base-10:
- 5 (10 0 : 5 шт.)
- 7 (10 1 : 7 десятков)
Аналогично, если бы у нас было число вроде 675
и мы хотим представить его как base-10:
- 5 (10 0 : 5 шт.)
- 7 (10 1 : 7 десятков)
- 6 (10 2 : 6 сотен)
Вы можете указать, с какой базой вы хотите представить число, например:
н б
Где n
- это номер, а b
- это база, на которой вы хотите указать, что это находится.
Например:
75 10
Это число 75
, и мы утверждаем, что основание, которое оно представляет, - 10
.
Это полезно, когда вы преобразовали такое число, как 75
, в другое основание (скажем, с основанием 8, которое будет 113
) и хотите передать это число в надлежащем контексте кому-то другому. Вы можете записать его как 113 8 .
Преобразование Base-10 в Base-2/8
Примечание: шаги одинаковы для преобразования в base-2 и base-8
Теперь давайте рассмотрим, как преобразовать число 75
в другое основание, например основание 8.Для этого выполните следующие шаги
- разделите число (75) на желаемое основание (8) (запишите остаток: 3)
- возьмите результат (9) и сделайте то же самое (т.е. разделите на основание и запишите остаток)
- продолжайте делать это, пока результат деления предыдущего ответа на основание не станет нулевым
- теперь выпишите остатки снизу вверх, и это число по основанию 8
В развернутом виде это выглядит так:
- 75 (число) / 8 (основание) = 9 (округлено) с остатком 3
- 9 (предыдущий ответ) / 8 (основание) = 1 (округлено) с остатком 1
- 1 (предыдущий ответ) / 8 (основание) = 0 (округлено) с остатком 1
Значение 75, оцененное по основанию 8, будет 113
(все остатки соединены вместе, «снизу вверх»)
Преобразование Base-10 в Base-16
Алгоритм преобразования из base-10 в base-2 и base-8 работает в основном одинаково для преобразования в base-16.Но есть одно предостережение, согласно которому остаток может быть двузначным, и, очевидно (по причинам, которые я не совсем понимаю), мы этого не хотим, и поэтому система счисления была разработана для замены шести случаев, когда это может произойти. (остатки: 10, 11, 12, 13, 14, 15) с буквенно-цифровым эквивалентом:
- 10-А
- 11-Б
- 12-C
- 13-D
- 14-E
- 15-Ф
Итак, если мы хотим преобразовать 110 10 в шестнадцатеричное, результат алгоритма будет:
- 110 (число) / 16 (основание) = 6 (округлено) с остатком 14
- 6 (предыдущий ответ) / 16 (основание) = 0 (округлено) с остатком 6
Мы знаем, что нам нужно заменить 14
(двузначный остаток) на букву E
(см. Сопоставление выше).
Значение 110, оцененное по основанию 16, будет 6E
Давайте попробуем еще раз, но с номером 411 10 :
- 411 (число) / 16 (основание) = 25 (округлено) с остатком 11
- 25 (предыдущий ответ) / 16 (основание) = 1 (округлено) с остатком 9
- 1 (предыдущий ответ) / 16 (основание) = 0 (округлено) с остатком 1
Мы знаем, что нужно заменить 11
буквой B
.
Это означает, что 411, оцененный по основанию 16, будет 19B
Преобразование любой базы в базу-10
Что делать, если вы хотите преобразовать число с основанием 8 (скажем, 113
, почему бы и нет) в число с основанием 10? Алгоритм состоит в том, чтобы умножить отдельные числа на соответствующую мощность основания, а затем сложить числа.
Итак, вот степени по основанию 8:
А вот алгоритм:
- 3 x 8 0 = 3
- 1 x 8 1 = 8 (т.е.
1 * 8
) - 1 x 8 2 = 64 (т.е.
1 * (8 * 8)
) - 3 + 8 + 64 = 75
Если вы имеете дело с основанием 16, то опять же, это то же самое, но разница в том, что вы переводите букву обратно в соответствующее число.
Давайте преобразуем 19B
из base-16 обратно в base-10:
- B x 16 0 (11 x 16 0 ) = 11
- 9 x 16 1 = 144
- 1 x 16 2 = 256
- 11 + 144 + 256 = 411
Давайте попробуем еще раз преобразовать base-16 в base-10.Номер 1A4
:
- 4 x 16 0 = 4
- A x 16 1 (10 x 16 1 ) = 160
- 1 x 16 2 = 256
- 4 + 160 + 256 = 420
CIDR
CIDR - это диапазон IP-адресов. Мы можем использовать наше понимание битов, байтов и октетов, чтобы понять формат CIDR.
CIDR обычно выглядит примерно так:
10.0.0.0/n
Где n
дается значение 8, 16, 24 или 32, и они представляют каждый из 8-битных блоков, составляющих IP.
Если нам нужен диапазон IP-адресов от 10.0.0.0
до 10.255.255.255
, мы должны указать CIDR как 10.0.0.0/8
.
В 8
указано, что учитываются последние 8 бит 32-битного числа (это 10
, которое мы указали в нашем примере). Это означает, что остальные 8-битные сегменты могут быть добавлены до их максимального значения 255 (что означает, что последний IP-адрес в этом диапазоне CIDR будет 10.255.255.255
).
Аналогично, если нам нужен диапазон IP от до 10.0.0.0
и 10.0.255.255
, мы должны указать CIDR как 10.0.0.0/16
.
Опять же, 16
указывает, что теперь учитывается следующий 8-битный сегмент 32-битного числа (это 0
, которое мы указали в нашем примере 10.0
). Это означает, что остальные 8-битные сегменты могут быть добавлены до их максимального значения 255 (что означает, что последний IP-адрес в этом диапазоне CIDR будет 10.0.255.255
).
И так далее…
Так 10.0.0.0 / 24
дает нам диапазон IP от 10.0.0.0
до 10.0.0.255
(256 IP).
В то время как 10.0.0.0/32
дает нам диапазон ip в 1 ip (от 10.0.0.0
до 10.0.0.0
).
Примечание: вы можете использовать такой инструмент, как http://www.ipaddressguide.com/cidr, чтобы помочь вам создать CIDR
Мы можем использовать более раннюю матрицу таблицы визуализации байтов, чтобы помочь нам вручную вычислить диапазон CIDR.
Я воспроизвел его ниже в виде таблицы HTML:
Примечание: вам, вероятно, потребуется прокрутить вправо, чтобы увидеть начало 32-битного
IP | 10 | 0 | 0 | 1 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8-битные блоки | 8 бит [24-31] | 8 бит [16-23] | 8 бит [08-15] | 8 бит [00-07] | ||||||||||||||||||||||||||||
32 бит # | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Десятичное число | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
двоичный | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Заключение
Вот и все.