Тест «Единицы измерения информации «
Вариант 1
1. Сколько Мбайт информации содержит сообщение объемом 2 в 28 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 16 Кб?
(Ответ – степень 2).
3. Сколько Кбит информации содержит сообщение объемом 2 в 23 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 512 Гбит?
(Ответ – степень 2).
5. Сколько байт информации содержит сообщение объемом 0,25 Кб?
(Ответ – одним числом).
Вариант 2
1. Сколько Кбайт информации содержит сообщение объемом 2 в 21 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 8 Гб?
(Ответ – степень 2).
3. Сколько Гбит информации содержит сообщение объемом 2 в 39 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 1 Мбит?
(Ответ – степень 2).
5. Сколько Мбит информации содержит сообщение объемом 0,25 Гбит?
(Ответ – одним числом).
Вариант 3
1. Сколько Гбайт информации содержит сообщение объемом 2 в 33 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 512 Мб?
(Ответ – степень 2).
3. Сколько Мбит информации содержит сообщение объемом 2 в 27 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 4096 Кбит?
(Ответ – степень 2).
5. Сколько Кбайт информации содержит сообщение объемом 0,25 Мб?
(Ответ – одним числом).
Вариант 4
1. Сколько Мбайт информации содержит сообщение объемом 2 в 30 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 1024 Кб?
(Ответ – степень 2).
3. Сколько Кбит информации содержит сообщение объемом 2 в 21 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 32 Гбит?
(Ответ – степень 2).
5. Сколько бит информации содержит сообщение объемом 0,125 Кбит?
(Ответ – одним числом).
Вариант 5
1. Сколько Кбайт информации содержит сообщение объемом 2 в 24 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 32 Гб?
(Ответ – степень 2).
3. Сколько Гбит информации содержит сообщение объемом 2 в 35 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 128 Мбит?
(Ответ – степень 2).
5. Сколько Мбайт информации содержит сообщение объемом 0,125 Гб?
(Ответ – одним числом).
Вариант 6
1. Сколько Гбайт информации содержит сообщение объемом 2 в 39 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 64 Мб?
(Ответ – степень 2).
3. Сколько Мбит информации содержит сообщение объемом 2 в 26 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 512 Кбит?
(Ответ – степень 2).
5. Сколько Кбит информации содержит сообщение объемом 0,125 Мбит?
(Ответ – одним числом).
Вариант 7
1. Сколько Мбайт информации содержит сообщение объемом 2 в 33 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 8192 Кб?
(Ответ – степень 2).
3. Сколько Кбит информации содержит сообщение объемом 2 в 18 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 16 Гбит?
(Ответ – степень 2).
5. Сколько байт информации содержит сообщение объемом 0,5 Кбайт?
(Ответ – одним числом).
Вариант 8
1. Сколько Кбайт информации содержит сообщение объемом 2 в 20 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 2 Гб?
(Ответ – степень 2).
3. Сколько Гбит информации содержит сообщение объемом 2 в 40 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 8192 Мбит?
(Ответ – степень 2).
5. Сколько Мбит информации содержит сообщение объемом 0,5 Гбит?
(Ответ – одним числом).
Вариант 9
1. Сколько Гбайт информации содержит сообщение объемом 2 в 37 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 8 Мб?
(Ответ – степень 2).
3. Сколько Мбит информации содержит сообщение объемом 2 в 24 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 4 Кбит?
(Ответ – степень 2).
5. Сколько Кб информации содержит сообщение объемом 0,5 Мбайт?
(Ответ – одним числом).
Вариант 10
1. Сколько Мбайт информации содержит сообщение объемом 2 в 25 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 4096 Кб?
(Ответ – степень 2).
3. Сколько Кбит информации содержит сообщение объемом 2 в 24 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 64 Гбит?
(Ответ – степень 2).
5. Сколько бит информации содержит сообщение объемом 0,25 Кбит?
(Ответ – одним числом).
Вариант 11
1. Сколько Кбайт информации содержит сообщение объемом 2 в 25 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 16 Гб?
(Ответ – степень 2).
3. Сколько Гбит информации содержит сообщение объемом 2 в 39 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 2 Мбит?
(Ответ – степень 2).
5. Сколько Мб информации содержит сообщение объемом 0,25 Гбайт?
(Ответ – одним числом).
Вариант 12
1. Сколько Гбайт информации содержит сообщение объемом 2 в 34 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 4 Мб?
(Ответ – степень 2).
3. Сколько Мбит информации содержит сообщение объемом 2 в 36 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 2048 Кбит?
(Ответ – степень 2).
5. Сколько Кбит информации содержит сообщение объемом 0,25 Мбит?
(Ответ – одним числом).
Вариант 13
1. Сколько Мбайт информации содержит сообщение объемом 2 в 26 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 128 Кб?
(Ответ – степень 2).
3. Сколько Кбит информации содержит сообщение объемом 2 в 15 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 128 Гбит?
(Ответ – степень 2).
5. Сколько байт информации содержит сообщение объемом 0,125 Кб?
(Ответ – одним числом).
Вариант 14
1. Сколько Кбайт информации содержит сообщение объемом 2 в 26 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 64 Гб?
(Ответ – степень 2).
3. Сколько Гбит информации содержит сообщение объемом 2 в 37 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 8 Мбит?
(Ответ – степень 2).
5. Сколько Мбит информации содержит сообщение объемом 0,125 Гбит?
(Ответ – одним числом).
Вариант 15
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 1024 Мб?
(Ответ – степень 2).
3. Сколько Мбит информации содержит сообщение объемом 2 в 30 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 32 Кбит?
(Ответ – степень 2).
5. Сколько Кб информации содержит сообщение объемом 0,125 Мбайт?
(Ответ – одним числом).
Вариант 16
1. Сколько Мбайт информации содержит сообщение объемом 2 в 29 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 2048 Кб?
(Ответ – степень 2).
3. Сколько Кбит информации содержит сообщение объемом 2 в 22 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 4 Гбит?
(Ответ – степень 2).
5. Сколько бит информации содержит сообщение объемом 0,5 Кбит?
(Ответ – одним числом).
Вариант 17
1. Сколько Кбайт информации содержит сообщение объемом 2 в 23 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 1 Гб?
(Ответ – степень 2).
3. Сколько Гбит информации содержит сообщение объемом 2 в 38 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 16 Мбит?
(Ответ – степень 2).
5. Сколько Мбайт информации содержит сообщение объемом 0,5 Гб?
(Ответ – одним числом).
Вариант 18
1. Сколько Гбайт информации содержит сообщение объемом 2 в 36 степени бит?
(Ответ – одним числом).
2. Сколько бит информации содержит сообщение объемом 128 Мб?
(Ответ – степень 2).
3. Сколько Мбит информации содержит сообщение объемом 2 в 23 степени байт?
(Ответ – степень 2).
4. Сколько байт информации содержит сообщение объемом 256 Кбит?
(Ответ – степень 2).
5. Сколько Кбит информации содержит сообщение объемом 0,5 Мбит?
(Ответ – одним числом).
Ответы:
Единицы измерения количества информации — Информатика, информационные технологии
Количество информации как мера уменьшения неопределенности знания
Получение информации можно связать с уменьшением неопределенности знания. Это позволяет количественно измерять информацию, что чрезвычайно важно для информатики. Рассмотрим вопрос об определении количества информации более подробно на конкретных примерах.
Пусть у нас имеется монета, которую мы бросаем на ровную поверхность. С равной вероятностью произойдет оно из двух возможных событий – монета окажется в одном из двух положений: «орел» или «решка».
Можно говорить, что события равновероятны, если при возрастающем числе опытов количества выпадений «орла» и «решки» постепенно сближается. Например, если мы бросим монету 10 раз, то «орел» может выпасть 7 раз, а «решка» – 3 раза, если бросим монету 100 раз, то «орел» может выпасть 60 раз, а «решка» – 40 раз, если бросим монету 1000 раз, то «орел» может выпасть 520 раз, а «решка» – 480 и т.д. В итоге при очень большой серии опытов количества выпадений «орла» и «решки» практически сравняются.
Перед броском существует неопределенность нашего знания (возможны два события), и как упадет монета, предсказать невозможно. После броска наступает полная определенность, так как мы видим (получаем зрительное сообщение), что монета в данный момент находится в определенном положении (например, «орел»). Это сообщение приводит к уменьшению неопределенности нашего знания в два раза, так как из двух возможных равновероятных событий реализовалось одно.
Чем больше количество возможных событий, тем больше начальная неопределенность нашего знания и соответственно тем больше количество информации будет содержать сообщение о результатах опыта.
Единицы измерения количества информации
За единицу количества информации принимается такое количество информации, которое содержит сообщение, уменьшающее неопределенность знания в два раза. Такая единица названа бит.
Минимальной единицей измерения информации является бит, а следующей по величине единицей – байт, причем
1 байт = 23 бит = 8 бит
Так кратные байту единицы измерения количества информации вводятся следующим образом:
1Кбайт = 210 байт = 1024 байт;
1Мбайт = 210 Кбайт = 1024 Кбайт;
1Гбайт = 210 Мбайт = 1024 Мбайт;
1Терабайт (Тб) = 210 Гбайт =1024 Гбайт;
1Петабайт (Пб) = 210 Тбайт = 1024 Тбайт.
Задачи для самостоятельного решения(Босова Л. Л., 8 кл.)
1. Выразите объем информации в различных единицах, заполняя таблицу:
Бит | Байт | Кбайт |
215 | ||
23 |
2.Расположите величины в порядке убывания: 1024 бита, 1000 байтов, 8 бит, 1 байт, 10 Кбайт.
3. Расположите величины в порядке возрастания: 1010 байтов, 2 байта, 1 Кбайт, 20 битов, 10 битов.
4. Сколько Кбайт информации содержит сообщение следующего объема: 216 битов, 216 байтов, ¼ Мбайт, 1/512 Гбайт?
5. Информационный объем одного сообщения составляет 0,5 Кбайт, а другого – 500 байтов. На сколько битов информационный объем первого сообщения больше объема второго сообщения?
6. Информационный объем одного сообщения составляет 0,5 Кбайт, а другого – 128 битов. Во сколько раз информационный объем первого сообщения больше объема второго сообщения?
7. Заполните пропуски (степени двойки).
1 байт | 23 битов | |||||
1 Кбайт | 2— битов | 210 байтов | ||||
1 Мбайт | 2— битов | 2— байтов | 210 Кбайт | |||
1 Гбайт | 2— битов | 2— байтов | 2— Кбайт | 210 Мбайт | ||
1 Тбайт | 2— битов | 2— байтов | 2— Кбайт | 2— Мбайт | 210 Гбайт | |
1 Пбайт | 2— битов | 2— байтов | 2— Кбайт | 2— Мбайт | 2— Гбайт | 210 Тбайт |
8. Найдите х.
а) 8х битов = 32 Кбайт; б)16х битов = 128 Кбайт.
Формула Хартли
В 1928 г. американский инженер Р. Хартли предложил научный подход к оценке сообщений. Предложенная им формула имела следующий вид:
I = log2 N ,
Где N — количество равновероятных событий; I — количество бит в сообщении, такое, что любое из N событий произошло. Тогда N =2I.
Иногда формулу Хартли записывают так:
I = log2 N = log2 (1 / р) = — log2 р,
т. к. каждое из К событий имеет равновероятный исход р = 1 / N, то К = 1 / р.
Формула Шеннона
Существует множество ситуаций, когда возможные события имеют различные вероятности реализации. Например, если монета несимметричная (одна сторона тяжелее другой), то при ее бросании вероятности выпадения «орла» и «решки» будут различаться.
Формулу для вычисления количества информации для событий с различными вероятностями предложил К. Шеннон в 1948 году. В этом случае количество информации определяется по формуле:
,
где I — количество информации,
N – количество возможных событий,
pi – вероятности отдельных событий.
Для частного, но широко распространенного и рассматриваемого выше случая, когда события равновероятны (pi = 1/N), величину информации I можно рассчитать по формуле:
Практическое задание «Бросание пирамидки».Определить количество информации, которую мы получаем в результате бросания несимметричной и симметричной пирамидок.
При бросании несимметричной четырехгранной пирамидки вероятности отдельных событий равны: p1 =1/2, p2 = 1/4 , p3 = 1/8, p4 = 1/8.
Количество информации, которую мы получим после бросания несимметричной пирамидки, можно рассчитать по формуле :
I = — (1/2· log21/2 + 1/4·log21/4 + 1/8·log21/8 + 1/8·log21/8) бит = (1/2·log22 + 1/4·log24 + 1/8·log28 + 1/8·log28) бит = (1/2 + 2/4 + 3/8 +3/8) бит = 14,8 бит = 1,75 бит.
При бросании симметричной четырехгранной пирамидки вероятности отдельных событий равны между собой: p1 = p2 = p3 = p4 = 1/4.
Количество информации, которую мы получим после бросании симметричной пирамидки, можно рассчитать по формуле: I = log24 = 2 бита.
Таким образом, при бросании симметричной пирамидки, когда события равновероятны, мы получим большее количество информации (2 бита), чем при бросании несимметричной пирамидки, когда события неравновероятны (1,75 бита).
Выбор правильной стратегии в игре «угадай число». На получение максимального количества информации строится выбор правильной стратегии в игре «Угадай число», в которой первый участник загадывает целое число (например, 3) из заданного интервала (например, от 1 до 16), а второй должен «угадать» задуманное число. Если рассмотреть эту игру с информационной точки зрения, то начальная неопределенность знания для второго участника составляет 16 возможных событий (вариантов загаданных чисел).
При правильной стратегии интервал чисел всегда должен делиться пополам, тогда количество возможных событий (чисел) в каждом из полученных интервалов будет одинаково и их отгадывание равновероятно. В этом случае на каждом шаге ответ первого игрока («Да» или «Нет») будет нести максимальное количество информации (1 бит).
Как видно из таблицы, угадывание числа 3 произошло за четыре шага, на каждом из которых неопределенность знания второго участника уменьшалась в два раза за счет получения сообщения от первого участника, содержащего 1 бит информации. Таким образом, количество информации, необходимой для отгадывания одного из 16 чисел, составило 4 бита.
Информационная модель игры «Угадай число»
Вопрос второгоучастника | Ответ первогоучастника | Неопределенность знания (количество возможных событий) | Полученное количество информации |
Число больше 8? | Нет | 1 бит | |
Число больше 4? | Нет | 1 бит | |
Число больше 2? | Да | 1 бит | |
Это число 3? | Да | 1 бит |
Практическое задание «Определение количества информации».
В непрозрачном мешочке хранятся 10 белых, 20 красных, 30 синих и 40 зеленых шариков. Какое количество информации будет содержать зрительное сообщение о цвете вынутого шарика?
Так как количество шариков различных цветов неодинаково, то вероятности зрительных сообщений о цвете вынутого из мешочка шарика также различаются и равны количеству шариков данного цвета, деленному на общее количество шариков: pб = 0,1 ; pк = 0,2; pз =0,3; pс= 0,4
События неравновероятны, поэтому для определения количества информации, содержащейся в сообщении о цвете шарика, воспользуемся формулой:
I = — (0, 1·log2 0, 1 + 0,2· log2 0,2 + 0,3· log20,3 + 0,4· log20,4) = 1,85 бита
Практическое задание «Определение количества информации в тексте».Система оптического распознавания символов позволяет преобразовать отсканированные изображения страниц документа в текстовой формат со скоростью 4 страницы в минуту и использует алфавит мощностью 65 536 символов. Какое количество информации будет нести текстовый документ, каждая страница которого содержит 40 строк по 50 символов, после 10 минут работы приложения?
По формуле: N = 2i определим информационную емкость символа алфавита: 65536 = 2i = 216 = 2i = I = 16 бит.
По формуле: Ic = I·К определим количество информации на странице: 16 бит·40·50 = 32000 бит = 4000 байт.
Определим количество информации, которое будет нести текстовый документ: 4000 байт·4·10 = 160000 байт.156 Кбайт.
Статьи к прочтению:
CHALLENGE — Лайфхак / Уборка в Доме / Гардероб Кати и Макса / Угадай количество получи приз
Похожие статьи:
Перевести 512 битов в байты и килобайты
512 бит в байты. Перевод физических величин.
Таблица перевода из Бит в Байты
Бит | 10 | 50 | 100 | 250 | 500 | 1 000 | 2 500 | 5 000 |
---|---|---|---|---|---|---|---|---|
Байт | 1.25 | 6.25 | 12.5 | 31.25 | 62.5 | 125 | 312.5 | 625 |
Источник: http://calc.ru/bit-v-bayt.html?source=512
Перевести Биты
bit в Байты B:Разделитель групп разрядов Округлить до Число прописью
Рейтинг: 3.2 (Голосов 42)
Сообщить об ошибке
Смотрите также
Единицы скорости передачи данных | Перевод длины | Подсчет количества символов | Перевод чисел систем счисления |
Перевод типов данных | Узнать IP | Оценить время загрузки файла | Сколько я плачу налогов? |
Источник: http://allcalc.ru/converter/bits-bytes
Применение[править | править код]
- Некоторые графические процессоры, такие, как NVIDIA GTX280[2], GTX285, Quadro FX 5800 и Tesla, передают данные по 512-битной шине памяти.
- Многие функции хеширования, такие, как SHA-512, генерируют 512-битные хеши.
Источник: http://ru.wikipedia.org/wiki/512_бит
Похожие задачи
- 1) 1 Гбайт А) 512 Кбайт 2) 2 Кбайт Б) 160 бит 3) 0,5 Мбайт В)1024 Мбайт 4) 20 байт Г)1024…
- Найдите x и y 512 Кбайт = 2x байт = 2y бит
- 512 Кбайт, сколько байт и бит в степени
- Помогите пожалуйста!!! Перевести: 512 байт в Кбайт; 4 Мбайт в Кбайт, байт, бит; 256 бит в…
- 0,5 кбайт = 512 байт = 4096 бит Правильно? Если нет напишите ответ!
- 0,5 кбайт = 512 байт = 4096 бит Правильно? Если нет напишите ответ!
- Выполните вычисления и сравните: 5,12 Кбайт 5120 Байт 16384 бит 30 КБайт 512 Мбайт 0,55…
- 512 Кбайт – сколько это бит и байт? ? ХЭЛП Точные цифры пожалуйста!
- Выразить в Кбайт: 1)30 Мбайт 2)512 байт 3)512 бит 4)1 Тбит выразит в Мбит: 1)256 Кбайт…
- Переведите: а) 16 бит= ….байт б) 2,5 байт=….бит в) 640,7 Кбайт=…..байт г) 512…
- 5 Кбайт = _?_ байт = _?_ бит;512 Кбайт = 2? байт = 2? бит.
- переведите 640, 7 Кбайт в байт 15360 байт в Кбайт 512 Кбайт в Мбайт 8 Мбайт в бит
- переведите 640, 7 Кбайт в байт 15360 байт в Кбайт 512 Кбайт в Мбайт 8 Мбайт в бит
- Выберите наименьшую величину из предложенных. *512 байт2048 битов8 Кбитов1 Кбайт
- Файл, размером 5 Кбайт, занимает на диске X кластеров, при размере кластера 512 байт. А….
- Выразите 0,25 в битах, байтахвыразите 5Мб в кб, битахСравните: 0,5 кбайт и 512 байт
- Файл размером 16 Кбайт передается через некоторое соединение со скоростью 512 байт в…
- Сравните(поставьте знак отношения ) 512 байт ___ 0,25 Кбайт
- 1,44 мбайт = … байт 40 гбайт = … кбайт 512,636 байт = … мбайт 1406 кбайт = ……
- 512 байт сколько это кбайт
- Перевести указанные значения в другие единицы измерения1. 256 бит = … Байт = … Кбит2. 512…
- Укажите самую большую величину :1024 бит, 1040 байт, 16 бит, 1 байт, 1 Кбайт
- 1. Чему равен 1 Кбайт …1) 1000 бит 2) 103 байт 3) 210 байт 4) 1024 бит2. Какое…
- Привет нужна помощь!!!11. Чему равен 1 Кбайт?А. 100 бит;Б. 1024 байт;В. 1024 битГ….
- Расставьте единицы измерения в порядке возрастания:1) 1 байт, 1 Гбайт, 1 Кбайт, 1 бит,…
Здравствуйте! На сайте Otvet-Master.ru собраны ответы и решения на все виды школьных задач и университетских заданий. Воспользуйтесь поиском решений на сайте или задайте свой вопрос онлайн и абсолютно бесплатно.
Источник: http://masters-otvet.ru/15464768/512
Ваш комментарий к ответу:
Отображаемое имя (по желанию): |
Напишите мне, если после меня будет добавлен комментарий:Напишите мне, если после меня добавят комментарий |
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений. |
Анти-спам проверка: |
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь . |
Источник: http://s-otvet.ru/8074682/512
Что такое байт. Сколько бит в байте
Вы, наверное, слыхали про азбуку Морзе, где комбинации длинных и коротких сигналов (точек и тире) расшифровывались в слова. А если взять комбинацию из 8 цифр, каждая из которых может быть единицей или нулем, то получим 256 комбинаций, чего хватит для отображения и цифр и букв, причем и не одного алфавита. И вот эти 8 бит называются байтом . Таким образом в байте 8 бит.
Бит – это минимальная единица. Она обозначается маленькой буквой «б». Следом за ней идет байт. Он уже обозначается большой буквой «Б».
Источник: http://calcsbox.com/post/skolko-bitov-v-bajte-kb-mb-gb-i-tb.html
Единицы информации
Таблица байтов:
- 1 байт = 8 бит
- 1 Кб (1 Килобайт) = 210 байт = 2*2*2*2*2*2*2*2*2*2 байт =
- 1024 байт (примерно 1 тысяча байт – 103 байт)
- 1 Мб (1 Мегабайт) = 220 байт = 1024 килобайт (примерно 1 миллион байт – 106 байт)
- 1 Гб (1 Гигабайт) = 230 байт = 1024 мегабайт (примерно 1 миллиард байт – 109 байт)
- 1 Тб (1 Терабайт) = 240 байт = 1024 гигабайт (примерно 1012 байт)
- 1 Пб (1 Петабайт) = 250 байт = 1024 терабайт (примерно 1015 байт)
- 1 Эксабайт = 260 байт = 1024 петабайт (примерно 1018 байт)
- 1 Зеттабайт = 270 байт = 1024 эксабайт (примерно 1021 байт)
- 1 Йоттабайт = 280 байт = 1024 зеттабайт (примерно 1024 байт)
Источник: http://calcsbox.com/post/skolko-bitov-v-bajte-kb-mb-gb-i-tb.html
Калькуляторы по физике
Источник: http://calc.ru/bit-v-bayt.html?source=512 Другие вопросы:Найди ту группу слов в которой содержится лишнее слово и отметь ее шалить, проказничать, озорничать, баловаться страна, стране, страну, страной чай, чайка, чайница, чайник стричь, прилечь, беречь, испечь запиши лишнее слово из этой группы более месяца назад Источник: http://shkole.net/QA/3626256/ Гигабайты и большеГигабайт – лет 15-20 назад, был довольно большим объемом памяти, сейчас 1 гигабайт – это 1024 мегабайт. И это уже не кажется большим количеством памяти, современные “топовые” смартфоны имеют объем памяти в среднем 256 гигабайт и больше
Дальше идёт терабайт – он в себе имеет 1024 гигабайт. Огромное количество памяти, обычно такой памятью (в терабайтах) обладают жёсткие диски, как переносные, так и в дорогих компьютерах.
То есть нам уже понятен принцип, каждая следующая единица памяти хранит в себе 1000 единиц предыдущих.Далее идут такие значения:
Хотя, думаю 20 лет назад даже представить себе не могли что на маленькой микро sd флешке, которую мы вставляем в смартфон поместится целый терабайт. Сегодня такую флешку можно уже купить и использовать. Ставьте палец вверх на эту статью и подписывайтесь на канал, чтобы не пропускать ничего интересного Источник: http://zen.yandex.ru/media/experimental/razbiraemsia-prosto-v-razmerah-pamiati-kilobait-megabait-gigabait-terabait-i-samye-bolshie-izvestnye-segodnia-edinicy-pamiati-5fa97165d7c5a223159842e5 Математические калькуляторы | |
Математические калькуляторы: корни, дроби, степени, уравнения, фигуры, системы счисления и другие калькуляторы. | |
Математические калькуляторы |
Источник: http://calc.ru/bit-v-bayt.html?source=512 Почему на диске, карте памяти или флешке всегда меньше памяти, чем написано на упаковке?Наверняка вам интересно, откуда берутся отличия заявленной и реальной емкости винчестеров? Меньший объем дискового пространства, доступного пользователю, не является ошибкой. Причина – разница в расчетах. Емкость проданных твердотельных накопителей, жестких дисков, флеш-накопителей и карт памяти указывается в гигабайтах (ГБ) или терабайтах (ТБ). Например, покупая SSD-накопитель заявленной емкостью 512 ГБ, мы должны получить ровно столько же места для наших данных. Однако после установки накопителя в компьютер оказывается, что у нас около 476 ГБ. Почему в реальности такое значение? Основная причина в том, как рассчитывается емкость диска. Люди используют десятичную систему счисления, основание которой равно 10. Компьютеры, однако, работают в двоичной системе, в которой основанием является число 2. Наименьшей единицей памяти, используемой в информатике, является байт. Обычно используемые десятичные префиксы (из системы СИ): кило (k) для тысячи, мега (M) для миллиона, гига (G) для миллиарда и тера (T) для триллиона. Таким образом, мы получаем один килобайт (тысяча байтов), мегабайт (миллион байтов), гигабайт (миллиард байтов) и терабайт (один триллион байтов) соответственно. Следовательно, по заявлению производителей, емкость SSD на 512 ГБ составляет ровно 512 000 000 000 байт (512 байт x 1000 x 1000 x 1000). Однако для компьютеров и бинарных файлов, которые они используют, вычисление этих значений немного отличается. 1 килобайт равен 102 байтам. 1 мегабайт равен 1 048 576 байтам (1024 x 1024), а 1 гигабайт равен 1 073 731 824 байтам (1024 x 1024 x 1024). Таким образом, диск с заявленным производителем объемом 512 ГБ фактически имеет емкость 476,84 ГБ. Рассчитываем это так: 512000000000 / 1024/1024/1024 = 476,84 ГБ. Различная система расчета размера массовой памяти – не единственная причина различий между заявленной и реальной емкостью дисков. Производители ноутбуков используют скрытые разделы для восстановления, чтобы восстановить компьютер до исходного состояния, например, после аварии. Такой раздел занимает около 1 ГБ дискового пространства и обычно содержит образ операционной системы, драйверы и базовое программное обеспечение. Дисковое пространство также можно зарезервировать для так называемых буферов, которые отвечают за ускорение чтения и записи данных на TLC-накопителях. Размер такого буфера может составлять от нескольких мегабайт до нескольких гигабайт. Подводя итог. Производители дисков считают 1 ГБ = 1 000 000 000 (миллиардом) байтов, а в двоичных файлах 1 ГБ = 1 073 731 824 байта. Этим объясняется разница в заявленной и реальной емкости SSD, дисковых накопителей и других носителей данных. Стоит отметить, что в 1998 году была предпринята попытка преодолеть эту двусмысленность. Международная электротехническая комиссия (IEC) предложила обозначить кратность 1024, добавив букву «i» после знака множителя (KiB вместо KB, MiB вместо MB) и изменив префикс, заканчивающийся на «bi» (kibibyte вместо килобайт, мебабайт вместо мегабайта). Новые имена, однако, не получили широкого распространения, и по сей день используются префиксы SI, которые проще использовать. Источник: http://calcsbox.com/post/skolko-bitov-v-bajte-kb-mb-gb-i-tb.html Измерение физических величин | |
Содержит информацию о способах измерения физических величин и о измерительных приборах. | |
Измерение физических величин |
Источник: http://calc.ru/bit-v-bayt.html?source=512 |
( 1 оценка, среднее 5 из 5 )
Сколько бит информации в слове компьютер
Описание разработки
Вопросы:
Вопрос 1. Минимальная единица измерения информации:
а) 1 байт б) 1 бит в) 1 бод г) 1 Кбайт.
Вопрос 2. Сколько битов содержится в 1 байте?
Вопрос 3. Сколько битов в слове ИНФОРМАЦИЯ?
а) 80 б) 10 в) 1024 г) 8
Вопрос 4. Сколько байтов в слове КОМПЬЮТЕР?
Вопрос 5. Килобайт – это:
а) 1024 бита б)1024 Мбита в) 1024 байта г) 8 битов
Вопрос 6. Сколько байт информации содержит сообщение объемом 216 бит?
Вопрос 7. Сообщение, информационный объем которого равен 32 битам, соответствует объему в байтах .
Вопрос 8. Сообщение, имеющее информационный объем 800 бит, содержит количество символов .
Вопрос 9. В каком списке единицы измерения количества информации расположены в правильном
порядке по возрастанию?
а) 1 байт, 1 бит, 1 Кбайт, 1 Мбайт, 1 Гбайт, 1 Тбайт
б) 1 бит, 1 байт, 1 Кбайт, 1 Мбайт, 1 Гбайт, 1 Тбайт
в) 1 бит, 1 байт, 1 Мбайт, 1 Кбайт, 1 Гбайт, 1 Тбайт
г) 1 бит, 1 байт, 1 Кбайт, 1 Гбайт, 1 Мбайт, 1 Тбайт
д) 1 бит, 1 байт, 1 Кбайт, 1 Мбайт, 1 Тбайт, 1 Гбайт
Вопрос 10. Сколько бит в памяти ПК занимает сообщение: «Воды – не бойся, ежедневно мойся!»?
а) 32 б) 264 в) 1024 г) 8
Вопрос 11. Переведите в биты ¼ Кб.
а) 1024 б) 256 в) 2048 г) 2
Вопрос 12. Сколько байт в слове ТЕХНОЛОГИЯ?
а) 11 б) 80 в) 44 г) 1 д) 10
Вопрос 13. Сколько бит в 1 Кбайте?
а) 1000 б) 8192 в) 1024 г) 8000
Вопрос 14. 512 бит — это:
а) ½ Кбайта б) 64 байта в) 256 байт г) 50 байт
Вопрос 15. 81 920 бит – это:
а) 80 Кбайт б) 10 Кбайт в) 8 Кбайт г) 1 Мбайт
Вопрос 16. Переведите 64 Мбайт в Кбайт =65 536 Кб
Вопрос 17. Переведите 40960 Бит в Байт =5 120 Байт
Вопрос 18. Переведите 1024 бит в Кбайт =0,125 Кб
Вопрос 19. Расположите в порядке убывания следующие варианты. Ответ запишите в виде последовательности их номеров (например, АБВГ)
а) 17 байт б) 128 бит в) 0,5 килобайта г) 256 бит ВГАБ
Вопрос 20. Сравните (поставьте знак отношения):
а) 200 байт и 0,25 Кбайта
Тест по теме «Единицы измерения информации»
Вопрос 1. Минимальная единица измерения информации:
а) 1 байт б) 1 бит в) 1 бод г) 1 Кбайт.
Вопрос 2. Сколько битов содержится в 1 байте?
а) 2 б) 8 в) 1024 г) 10
Вопрос 3. Сколько битов в слове ИНФОРМАЦИЯ?
а) 80 б) 10 в) 1024 г) 8
Вопрос 4. Сколько байтов в слове КОМПЬЮТЕР?
а) 2 б) 8 в) 1024 г) 9
Вопрос 5. Килобайт – это:
а) 1024 бита б)1024 Мбита в) 1024 байта г) 8 битов
Вопрос 6. Сколько байт информации содержит сообщение объемом 216 бит?
а) 16 б) 28 в) 27 г) 32
Вопрос 7. Сообщение, информационный объем которого равен 32 битам, соответствует объему в байтах .
а) 5 б) 2 в) 3 г) 4
Вопрос 8. Сообщение, имеющее информационный объем 800 бит, содержит количество символов .
а) 10 б) 80 в) 100 г) 8
Вопрос 9. В каком списке единицы измерения количества информации расположены в правильном
порядке по возрастанию?
а) 1 байт, 1 бит, 1 Кбайт, 1 Мбайт, 1 Гбайт, 1 Тбайт
б) 1 бит, 1 байт, 1 Кбайт, 1 Мбайт, 1 Гбайт, 1 Тбайт
в) 1 бит, 1 байт, 1 Мбайт, 1 Кбайт, 1 Гбайт, 1 Тбайт
г) 1 бит, 1 байт, 1 Кбайт, 1 Гбайт, 1 Мбайт, 1 Тбайт
д) 1 бит, 1 байт, 1 Кбайт, 1 Мбайт, 1 Тбайт, 1 Гбайт
Вопрос 10. Сколько бит в памяти ПК занимает сообщение: «Воды – не бойся, ежедневно мойся!»?
а) 32 б) 264 в) 1024 г) 8
Вопрос 11. Переведите в биты ¼ Кб.
а) 1024 б) 256 в) 2048 г) 2
Вопрос 12. Сколько байт в слове ТЕХНОЛОГИЯ?
а) 11 б) 80 в) 44 г) 1 д) 10
Тест по теме «Единицы измерения информации»
Вопрос 1. Минимальная единица измерения информации:
а) 1 байт б) 1 бит в) 1 бод г) 1 Кбайт.
Вопрос 2. Сколько битов содержится в 1 байте?
а) 2 б) 8 в) 1024 г) 10
Вопрос 3. Сколько битов в слове ИНФОРМАЦИЯ?
а) 80 б) 10 в) 1024 г) 8
Вопрос 4. Сколько байтов в слове КОМПЬЮТЕР?
а) 2 б) 8 в) 1024 г) 9
Вопрос 5. Килобайт – это:
а) 1024 бита б)1024 Мбита в) 1024 байта г) 8 битов
Вопрос 6. Сколько байт информации содержит сообщение объемом 216 бит?
а) 16 б) 28 в) 27 г) 32
Вопрос 7. Сообщение, информационный объем которого равен 32 битам, соответствует объему в байтах .
а) 5 б) 2 в) 3 г) 4
Вопрос 8. Сообщение, имеющее информационный объем 800 бит, содержит количество символов .
а) 10 б) 80 в) 100 г) 8
Вопрос 9. В каком списке единицы измерения количества информации расположены в правильном
порядке по возрастанию?
а) 1 байт, 1 бит, 1 Кбайт, 1 Мбайт, 1 Гбайт, 1 Тбайт
б) 1 бит, 1 байт, 1 Кбайт, 1 Мбайт, 1 Гбайт, 1 Тбайт
в) 1 бит, 1 байт, 1 Мбайт, 1 Кбайт, 1 Гбайт, 1 Тбайт
г) 1 бит, 1 байт, 1 Кбайт, 1 Гбайт, 1 Мбайт, 1 Тбайт
д) 1 бит, 1 байт, 1 Кбайт, 1 Мбайт, 1 Тбайт, 1 Гбайт
Вопрос 10. Сколько бит в памяти ПК занимает сообщение: «Воды – не бойся, ежедневно мойся!»?
а) 32 б) 264 в) 1024 г) 8
Вопрос 11. Переведите в биты ¼ Кб.
а) 1024 б) 256 в) 2048 г) 2
Вопрос 12. Сколько байт в слове ТЕХНОЛОГИЯ?
а) 11 б) 80 в) 44 г) 1 д) 10
Вопрос 13. Сколько бит в 1 Кбайте?
а) 1000 б) 8192 в) 1024 г) 8000
Вопрос 14. 512 бит — это:
а) ½ Кбайта б) 64 байта в) 256 байт г) 50 байт
Вопрос 15. 81 920 бит – это:
а) 80 Кбайт б) 10 Кбайт в) 8 Кбайт г) 1 Мбайт
Вопрос 16. Переведите 64 Мбайт в Кбайт
Вопрос 17. Переведите 40960 Бит в Байт
Вопрос 18. Переведите 1024 бит в Кбайт
Вопрос 19. Расположите в порядке убывания следующие варианты. Ответ запишите в виде последовательности их номеров (например, АБВГ)
а) 17 байт б) 128 бит в) 0,5 килобайта г) 256 бит
Вопрос 20. сравните (поставьте знак отношения):
Вопрос по информатике:
Сколько битов в слове компьютер?
Ответы и объяснения 1
1 символ = 1 байт(в кодировке ASCII, которая используется в основном)
1 байт = 8 бит.
компьютер = 9 символов.
9*8=72 бит.
Повторю, это для кодировки ASCII. В Unicode 1 символ = 2 байта(16 бит).
Знаете ответ? Поделитесь им!
Как написать хороший ответ?
Чтобы добавить хороший ответ необходимо:
- Отвечать достоверно на те вопросы, на которые знаете правильный ответ;
- Писать подробно, чтобы ответ был исчерпывающий и не побуждал на дополнительные вопросы к нему;
- Писать без грамматических, орфографических и пунктуационных ошибок.
Этого делать не стоит:
- Копировать ответы со сторонних ресурсов. Хорошо ценятся уникальные и личные объяснения;
- Отвечать не по сути: «Подумай сам(а)», «Легкотня», «Не знаю» и так далее;
- Использовать мат — это неуважительно по отношению к пользователям;
- Писать в ВЕРХНЕМ РЕГИСТРЕ.
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи — смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.
1 символ = 1 байт(в кодировке ASCII, которая используется в основном)
1 байт = 8 бит.
компьютер = 9 символов.
9*8=72 бит.
Повторю, это для кодировки ASCII. В Unicode 1 символ = 2 байта(16 бит).
Другие вопросы из категории
7) При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только символы из 12-буквенного набора А, В, Е, К, М, Н, О, Р, С, Т, У, X. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируются одинаковым и минимально возможным количеством бит. Кроме собственно пароля для каждого пользователя в системе хранятся дополнительные сведения, для чего отведено 12 байт. Определите объём памяти, необходимый для хранения сведений о 50 пользователях.
а) а mod 3=0
б) (a>=10) and (a 0
В каких случаях в программе используется оператор for?
Какая форма оператора for используется для
1) увеличения переменной цикла на 1
2) для уменьшения переменной цикла на 1
Трясём стариной — или как вспомнить Ассемблер, если ты его учил 20 лет назад
Это — тёплая, ламповая статья об Ассемблере и разработке ПО. Здесь мы не будем пытаться писать убийцу Майкрософта или Андроида. Мы будем писать убийцу 2048. Здесь не будет докера и терраформа с кубером. Зато здесь вы сможете найти большое количество материалов по Ассемблеру, которые помогут вам вновь погрузиться в мир трёхбуквенных инструкций. Доставайте пивко, и поехали. (Саундтреком к этой статье можно считать
IBM 1401 a system manual)
Недавно, было дело, сидел и ждал результатов какой-то конференции на одном из предприятий. Сидеть было скучно, и я вытащил мобильник, чтобы погрузиться в мир убивания времени. Но, к моему огорчению, мы были в месте с нереально слабым сигналом, и я понял, что нахожусь в том странном и непонятном мире, когда интернета нету. Ничего путного на мобиле у меня установлено не было, посему я переключил своё внимание на гостевой лаптоп. Внутрикорпоративный прокси спрашивал логин и пароль для интернета, коих у меня не имелось. Ступор. Я вспомнил 1990-е, когда интернет был только по модему и добывать его надо было через поход на почту или в «Интернет-кафе». Странное чувство.
К счастью, на вышеозначенном компьютере была обнаружена игрушка под названием 2048. Замечательно, подумал я, и погрузился в складывание кубиков на целых 30 минут. Время было убито чётко и резко. Когда пришла пора уходить, я попытался закрыть игрушку, и увидел, что она подвисла. Я по привычке запустил менеджер задач и хотел уже было убить несчастную, когда вдруг мои глаза увидели потребление 250-ти мегабайт оперативной памяти. Волосы встали дыбом под мышками, пока я пристреливал кобылку. Страшные 250 мегабайт оперативки не хотели вылезать из моей головы.
Я сел в машину и поехал домой. Во время поездки я только и думал о том, как можно было так раскормить 2048 до состояния, когда она будет пожирать 250 мегабайт оперативки. Ответ был достаточно прост. Зоркий глаз системщика увидел электрон, который запускал нагружённый яваскриптовый движок, который рендерил на экране 16 16-ти битовых чисел.
И я подумал, а почему-бы не сделать всё намного более компактно? Сколько битов тебе на самом деле надо, для того, чтобы хранить цифровое поле 2048?
Для начала обратимся к интернетам. Учитывая, что мы играем абсолютно правильную игру и все ставки на нас, то при самом хорошем расходе, мы не сможем набрать больше 65536. Ну, или если всё будет в нашу пользу, и мы будем получать блоки с четвёрками в 100 процентах случаев, то мы можем закончить с тайлом в 131072. Но это на грани фантастики.
Итак, у нас есть поле из 16-ти тайлов, размером до 131072, который умещается в Int. В зависимости от битности системы, int может быть 4 или 8 байт. То есть, 16*4 = 64 байта, хватило бы для хранения всего игрового поля.
Хотя, на самом деле, это тоже жутко много. Мы ведь можем хранить степени двойки, так ведь?
;00 = nothing
;01 = 2
;02 = 4
;03 = 8
;04 = 16
;05 = 32
;06 = 64
;07 = 128
;08 = 256
;09 = 512
;0a = 1024
;0b = 2048
;0c = 4096
;0d = 8192
;0e = 16384
;0f = 32768
;10 = 65536 - maximum with the highest number is 2
;11 = 131072 - maximum with the highest number 4
;12 = 262144 - impossible
Ага, мы можем запихнуть каждую клетку поля в один байт. На самом деле, нам нужно всего лишь 16 байт, на то, чтобы хранить всё игровое поле. Можно пойти немного дальше и сказать, что случай, когда кто-то соберёт что-то больше 32768 — это граничный случай, и такого быть не может. Посему можно было бы запихнуть всё поле в полубайты, и сократить размер всего поля до восьми байт. Но это не очень удобно. (Если вы реально забыли бинарное и шестнадцатеричное счисление, то тут нужно просто сесть, погуглить и вспомнить его)
Итак, подумал я, если всё это можно запихнуть в 16 байт, то чего бы этим не заняться. И как же можно отказаться от возможности вспомнить мой первый язык программирования — Ассемблер.
[flashback mode on]
Картинки детства. Выпуск №45
Именно в этой статье я вычитал про разные компиляторы, нашёл мануалы и попробовал писать. Писалось плохо, потому что я понимал, что мне не хватает понимания основ, и нужен был какой-то фундамент, который позволил бы работать более стабильно.
Ужасы детства. Ссылка на издание
Из всех сайтов, приведённых в примерах журнала Хакер, в живых не осталось ни одного. Но, не бойтесь, дело живо и инструкции публикуются. Вот здесь, например, есть одно из самых подробных описаний работы с Ассемблером.
[flashback mode off]
Когда я добрался домой и сел за свой компьютер, я понял, пошёл вспоминать молодость. Как скомпилировать ассемблер? В своё время, когда мы всему этому учились, у нас был TASM, MASM и MASM32. Я лично пользовался последними двумя. В каждом ассемблере был линкер и сам компилятор. Из этих трёх проектов в живых остался только оригинальный MASM.
Для того чтобы его установить в 2021 году, надо сливать Visual Studio и устанавливать кучу оснасток, включая линкер. А для этого надо качать полтора гигабайта оснасток. И хотя я, конечно, нашёл статьи о том, как использовать llvm-link вместо link при работе с Ассемблером, там нужно то ещё скрещивание ушей с ежами и альбатросами. Такими непотребностями мы заниматься не будем.
Хорошо, в таком случае, что? С удивлением обнаружил, что большое количество курсов по Ассемблеру х64 написано для линукса. YASM и NASM там правят бал и работают просто прекрасно. Что хорошо для нас, NASM отлично запускается и работает на Windows. Типа того.
Запускается-то он, запускается, но линкера у него в комплекте нету. (По-русски этот линкер должен называться компоновщиком, но мне это непривычно и звать я его буду линкером или линковщиком). Придётся использовать Майкрософтский линковщик, а как мы знаем, для его использования нам нужно качать гигабайты MSVS2021. Есть ещё FASM, но он какой-то непривычный, а в NASM бонусом идёт отличная система макросов.
Опять же, дружить всё это с llvm-link мне было очень занудно, потому что ни одна из инструкций не описывала того, как эту сакральную магию правильно применять.
Весь интернет пестрит рассказами про то, как прекрасен MinGW. Я же, будучи ленивым, пошёл по упрощённому пути и слил систему разработки CodeBlocks. Это IDE со всякими свистопипелками и, самое главное, наличием установленного MinGW.
Отлично, устанавливаем всё, добавляем в PATH и теперь мы можем компилировать, запуская:
nasm -f win64 -gcv8 -l test.lst test.asm
gcc test.obj -o test.exe -ggdb
Отлично! Давайте теперь сохраним данные в памяти:
stor db 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
fmt db "%c %c %c %c", 0xd, 0xa,"%c %c %c %c", 0xd, 0xa,"%c %c %c %c", 0xd, 0xa,"%c %c %c %c", 0xd, 0xa, "-------",0xd, 0xa, 0
Вот наше игровое поле
stor
, а вот — беспощадное разбазаривание оперативной памяти — строка форматирования
fmt
, которая будет выводить это игровое поле на экран.
Соответственно, для того, чтобы обратиться к какой-либо клетке поля, мы можем считать байты следующим образом:
; byte addressing
; 00 00 00 00 [stor] [stor+1] [stor+2] [stor+3]
; 00 01 00 00 [stor+4] [stor+5] [stor+6] [stor+7]
; 00 01 00 00 [stor+8] [stor+9] [stor+a] [stor+b]
; 00 00 00 00 [stor+c] [stor+d] [stor+e] [stor+f]
Тут начинаем втягиваться в разницу того самого 16-ти битного ассемблера под ДОСом из страшного Хакера 2002 года и нашего 64х битного ассемблера прямиком из 2021.
У нас были регистры ax, bx и так далее, помните? Все они делились на две части: _l _h, типа al, ah для записи байта в верхнюю часть ax или в нижнюю его часть. Соответственно, al был восьми битовым, ax был 16-ти битовым, а если вы были счастливым обладателем нормального процессора, то вам был доступен eax для целых 32х бит. Хаха! Добро пожаловать в новые процессоры. У нас теперь есть rax для записи 64х бит.
Что, страшно читать про регистры? Теряетесь и вообще не понимаете о чём идёт речь? Обратитесь к ответу frosty7777777 по адресу qna.habr.com/q/197637. Он приводит список книг по Ассемблеру на русском языке.
Более того, в мире 64х битных процессоров у нас в распоряжении есть не только EAX, EBX, EDX и ECX (не будем забывать про EDI, EBP, ESP и ESI, но и играться с ними тоже не будем). Нам даны R8 – R15 – это замечательные 64х битные регистры. Зубодробилка начинается, если вы хотите считывать данные из этих регистров. Байты можно считать обращаясь к r10b, слова находятся по адресу r10w, двойные слова можно найти по r10d, а ко всем 64ти четырём битам можно обратиться через к10. Почему всё это не назвать так же, как и предыдущие регистры — чёрт его знает. Но ничего, привыкнем.
Более того, благодаря SSE, SSSE и AVX у нас на руках ещё есть 15 регистров по 128 или 256 бит. Они названы XMM0-XMM15 для 128 бит и YMM0-YMM15 для 256 бит. С ними можно вытворять интересные вещи. Но статья не об этом.
Идём дальше. Как выводить данные на экран. Помните ДОС и те замечательные времена, когда мы делали:
mov dx, msg ; the address of or message in dx
mov ah, 9 ; ah=9 - "print string" sub-function
int 0x21 ; call dos services
Теперь забудьте. Прямой вызов прерываний нынче не в моде, и делать этого мы больше не сможем. Если вы ассемблируете под линуксом, вы сможете дёргать системные вызовы, или пользоваться
прерыванием 80, которое, отвечает за выплёвывание данных на экран. А вот под Windows у вас нет иных вариантов, кроме как воспользоваться
printf. (Нет, конечно, можно было бы получить дескриптор консоли и писать напрямую, но тут уже совсем было бы неприлично). В принципе, это не так-то плохо. Printf это часть стандартной библиотеки Си, и вызывать его можно на чём угодно.
Посему программу мы начнём с пары объявлений для компилятора и линкера:
bits 64
default rel
global main
extern printf
extern getch
extern ExitProcess
Первая строка указывает, что мы работаем на настоящем, ламповом 64х битном процессоре. Последние 3 строки говорят, что нам нужно будет импортировать 3 внешних функции. Две printf и getch для печатания и читания данных и ExitProcess из стандартной библиотеки Windows для завершения приложения.
Соответственно, для того чтоб нам воспользоваться какой-либо из вышеперечисленных функций, нам нужно сделать следующее:
push rbp
mov rbp, rsp
sub rsp, 32
lea rcx, [lost] ;Load the format string into memory
call printf
Сохраняем текущую позицию стека, выравниваем стек и даём ему дополнительные 32 бита. Про магию выравнивания стека можно читать вот
здесь. (Статья на английском, как и многие из рекомендованных мною материалов. Комментируйте, если есть на русском, мы добавим.) Загружаем в регистр CX адрес строки под названием
lost
, которая определена как
lost db "You are done!",0xd, 0xa, 0
и вызываем
printf
, которая эту строку и выведет на экран.
Два основных момента, о которых надо знать — это как выравнивать стек, и как передавать параметры в функции. В примере чуть выше, мы передаём только один параметр. А вот для показа значения всех 16 полей в командной строке мы должны передать 16 параметров, для этого нам нужно будет грузить часть их них в регистры, а часть записывать в стек. Вот — очень запутанный пример того, как программа вызывает printf с 16-ю параметрами для того, чтобы отобразить игровое поле на экране.
Хорошо, что мы уже умеем? Можем грузить данные в память и из памяти, перекладывать в многочисленные регистры и запускать функции из стандартной библиотеки.
Будем использовать getch для того, чтобы считать ввод с клавиатуры. Управление будет вимовским, то есть, hjkl для того, чтобы двигать тайлы. Просто пока не будем мучиться со стрелочками.
Что осталось сделать? Написать саму логику программы.
И тут вот в чём прикол. Можно было бы делать математику и прибавлять значения и всё такое, но это всё очень уж сложно. Давайте посмотрим, на наше игровое поле, и на то, что с ним происходит каждый раз, когда пользователь нажимает на кнопку в любом направлении.
Во первых, направление неважно. Что бы пользователь не нажимал на клавиатуре, мы всегда можем это развернуть и сказать что это просто сжимание 16ти байт слева направо. Но так как ряды у нас не пересекаются, то мы можем сказать, что вся логика-это сжимание четырёх байт слева направо, повторённое четыре раза.
А так как у нас всего лишь четыре байта, то мы можем просто написать логику на граничных кейсах. Какая разница?
Посему считываем направление, проходимся по всем значениям в одной строке и загружаем их в регистры r10 – r14. С этими регистрами и будем работать.
Чтобы облегчить нам жизнь, мы воспользуемся макросами NASM. Пишем два макроса, один для считывания памяти в регистры, другой для переписывания регистров в память. В данном объявлении макроса мы говорим, что у нас будут 4 параметра — 4 адреса в памяти. Их то мы и двигаем в регистры или из регистров. (Все параметры позиционные, % обращается к конкретной позиции)
%macro memtoreg 4
xor r10, r10
mov r10b, byte [stor + %4]
xor r11, r11
mov r11b, byte [stor + %3]
xor r12, r12
mov r12b, byte [stor + %2]
xor r13, r13
mov r13b, byte [stor + %1]
%endmacro
%macro regtomem 4
mov [stor + %4], r10b
mov [stor + %3], r11b
mov [stor + %2], r12b
mov [stor + %1], r13b
%endmacro
Тут всё просто.
После этого, передвижение всего поля в любом направлении будет простой задачей. Вот пример направления down. Мы просто выгружаем байты из памяти в регистры, вызываем процедуру, которая обсчитывает сдвиг и двигаем байты обратно в память.
down:
push rbp
mov rbp, rsp
sub rsp, 32
memtoreg 0x0, 0x4, 0x8, 0xc
call shift
regtomem 0x0, 0x4, 0x8, 0xc
memtoreg 0x1, 0x5, 0x9, 0xd
call shift
regtomem 0x1, 0x5, 0x9, 0xd
memtoreg 0x2, 0x6, 0xa, 0xe
call shift
regtomem 0x2, 0x6, 0xa, 0xe
memtoreg 0x3, 0x7, 0xb, 0xf
call shift
regtomem 0x3, 0x7, 0xb, 0xf
leave
ret
Если посмотреть на другие направления — происходит всё, то же самое, только мы берём байты в другой последовательности, чтобы симулировать «движение» влево, вправо, вниз и вверх.
Процедура самого сдвига находится в этом файле и является самой запутанной процедурой. Более того, точно вам могу сказать, в определённых кейсах она не работает. Надо искать и дебажить. Но, если вы посмотрите на сам код этой процедуры, она просто сравнивает кучу значений и делает кучу переходов. Математики в этой процедуре нет вообще. inc r11
— это единственная математика, которую вы увидите. Собственно говоря, единственное, что происходит в игре с математической точки зрения, это просто прибавление единицы к текущему значению клетки. Так что нам незачем грузить процессор чем-либо ещё.
Запускаем, пробуем — всё хорошо. Цифры прыгают по экрану, прибавляются друг к другу. Нужно дописать небольшой спаунер, который будет забрасывать новые значения на поле. Желания писать собственный рандомизатор прямо сию секунду у меня не было, так что будем просто запихивать значение в первую пустую клетку. А если оной не найдём, то скажем, что игра проиграна.
Складываем всё воедино, собираем, пробуем.
Красота исполнения -5 из десяти возможных. Мы, заразы такие, даже не потрудились конвертировать степени двойки обратно в числа. А могли бы. Если добавить табуляций в вывод, то всё может выглядеть даже поприличнее.
Смотрим в потребление оперативной памяти:
Итого — 2.5 мегабайта. Из них 1900 килобайт это общие ресурсы операционной системы. Почему так жирно? Потому что наш printf и ExitProcess используют очень много других системных вызовов. Если распотрошить программу с помощью x64dbg (кстати, замечательный бесплатный дебаггер, не IDA, но с задачей справляется), то можно увидеть, какие символы импортируются и потребляются.
Сама же программа использует 300 килобайт памяти на всё про всё. Это можно было бы ужать, но статья не об этом.
▍ Итак, что же мы теперь знаем про Ассемблер в 2021 году
- Он всё ещё живой и люди им пользуются. Существует масса инструментов разработки для всех ОС. Вот, например, ассемблер для новых маковских чипов М1. А здесь можно слить более 5000 страниц документации по процессорам Intel. Ну а если у вас завалялась где-то Raspberry Pi (а у кого она не завалялась?), то вам сюда.
- Не всё так просто, как это было в наши стародавние времена, где надо было заучивать таблицу прерываний наизусть. Сегодня мануалов больше и они тяжеловеснее.
- Но и не всё так сложно. Опять же, сегодня мануалы найти проще, да и StackOverflow имеет достаточно данных про ассемблер. Да и на Хабре есть большое количество тёплых ламповых статей про Ассемблер.
- Скрещивать ассемблер и другие языки программирования не так-то сложно. Мы с вами в этом примере импортировали функции, а можем их экспортировать. Достаточно знать правила работы со стеком, чтобы передавать данные туда и обратно.
- Серьёзные системщики, которые могут раздебажить BSOD на лету и распотрошить любую программу с целью её пропатчить, могут читать подобный код без каких-либо проблем. Так что, если вам нужно серьёзно заняться системным программированием, то без ASM вы далеко не двинетесь. (Пусть даже вы не будете писать на асьме напрямую, а будете использовать C-ASM или читать листинги программ)
▍ Для чего вам это надо?
Для того чтобы вы понимали, как работают процессоры. В те старые, тёплые, ламповые времена, когда мне приходилось писать на ASM, я глубоко усвоил основополагающие данные о работе компьютера. После того как вы понимаете, как работать с памятью, что происходит в программе и, как и куда передаются ваши данные, у вас не будет проблем учить любые другие языки программирования. Система управления памяти в С и С++ покажется вам более удобной и приятной, а освоение Rust не займёт много времени.
В этой статье я привёл большое количество ссылок на материалы. Ещё раз обращу ваше внимание на вот эту страницу. Здесь автор собрал в одном файле замечательное руководство по Ассемблеру в Windows.
А вот здесь огромная документация для YASM на русском.
Я бы рекомендовал всем тем, кто только начинает писать программы на языках высокого уровня, взять небольшой пет-проект и написать его на Ассемблере. Так, чисто для себя, чтобы разобраться, на чём вы работаете.
▍ Тёплый, ламповый конкурс на пиво
В дополнение ко всему, вот вам конкурс на пиво. Весь код «работающего» приложения 2048 находится по адресу:
github.com/nurked/2048-asmВот как выглядит игра на данный момент:
Играем чистыми степенями двойки
Слить скомпилированный бинарник можно по адресу . Играем нажатиями hjkl, выходим по нажатию s.
Для принятия участия в конкурсе вам надо будет сделать PRы, в которых:
- Переписан спаунер, и он на самом деле рандомно выбирает клетку на экране, в которой появляется новая фишка на поле.
- Переписан отображатель, и он выводит в консоль числа, а не степени двоек, возможно даже с подобием сетки.
- Добавлены цвета.
- Найдена и исправлена ошибка, когда мы сжимаем следующую строку: 7 6 6 1, она сожмётся до 8 1 0 0 за один раз, вместо 7 7 1 0, 8 1 0 0
- По нажатию на s игра должна закрываться, но сейчас она тихо падает, потому что стек обработан неправильно. Это нужно починить.
- Управление всё-таки нужно сделать стрелочками.
За первый работающий PR по каждому из этих пунктов я лично отправляю создателю денег на пиво пейпалом. Пишите в личку.
Всем успешного учения ассемблера!
1 бит = 0,000122 килобайт | 10 Бит = 0,0012 Килобайт | 2500 Бит = 0,3052 Килобайт |
2 бит = 0,000244 килобайт | 20 Бит = 0,0024 Килобайт | 5000 Бит = 0,6104 Килобайт |
3 бит = 0.000366 Килобайт | 30 Бит = 0,0037 Килобайт | 10000 Бит = 1,2207 Килобайт |
4 бит = 0,000488 килобайт | 40 Бит = 0,0049 Килобайт | 25000 бит = 3,0518 килобайт |
5 Бит = 0,00061 Килобайт | 50 Бит = 0.0061 Килобайт | 50000 Бит = 6,1035 Килобайт |
6 Бит = 0,000732 Килобайт | 100 Бит = 0,0122 Килобайт | 100000 Бит = 12.207 Килобайт |
7 Бит = 0,000854 Килобайт | 250 Бит = 0,0305 Килобайт | 250000 бит = 30.5176 Килобайт |
8 Бит = 0,000977 Килобайт | 500 Бит = 0,061 Килобайт | 500000 Бит = 61.0352 Килобайт |
9 Бит = 0,0011 Килобайт | 1000 Бит = 0,1221 Килобайт | 1000000 Бит = 122,07 Килобайт |
1 килобайт = 8 килобит | 10 Килобайт = 80 Килобит | 2500 Килобайт = 20000 Килобит |
2 Килобайт = 16 Килобит | 20 Килобайт = 160 Килобит | 5000 Килобайт = 40000 Килобит |
3 Килобайт = 24 Килобит | 30 Килобайт = 240 Килобит | 10000 Килобайт = 80000 Килобит |
4 Килобайт = 32 Килобит | 40 Килобайт = 320 Килобит | 25000 Килобайт = 200000 Килобит |
5 Килобайт = 40 Килобит | 50 Килобайт = 400 Килобит | 50000 Килобайт = 400000 Килобит |
6 Килобайт = 48 Килобит | 100 Килобайт = 800 Килобит | 100000 Килобайт = 800000 Килобит |
7 Килобайт = 56 Килобит | 250 Килобайт = 2000 Килобит | 250000 Килобайт = 2000000 Килобит |
8 Килобайт = 64 Килобит | 500 Килобайт = 4000 Килобит | 500000 Килобайт = 4000000 Килобит |
9 Килобайт = 72 Килобит | 1000 Килобайт = 8000 Килобит | 1000000 Килобайт = 8000000 Килобит |
1 Килобит = 0.125 Килобайт | 10 Килобит = 1,25 Килобайт | 2500 Килобит = 312,5 Килобайт |
2 Килобит = 0,25 Килобайт | 20 Килобит = 2,5 Килобайт | 5000 Килобит = 625 Килобайт |
3 Килобит = 0,375 Килобайт | 30 Килобит = 3.75 Килобайт | 10000 Килобит = 1250 Килобайт |
4 Килобит = 0,5 Килобайт | 40 Килобит = 5 Килобайт | 25000 Килобит = 3125 Килобайт |
5 Килобит = 0,625 Килобайт | 50 Килобит = 6.25 Килобайт | 50000 Килобит = 6250 Килобайт |
6 Килобит = 0.75 Килобайт | 100 Килобит = 12,5 Килобайт | 100000 Килобит = 12500 Килобайт |
7 Килобит = 0,875 Килобайт | 250 Килобит = 31,25 Килобайт | 250000 Килобит = 31250 Килобайт |
8 Килобит = 1 Килобайт | 500 Килобит = 62.5 Килобайт | 500000 Килобит = 62500 Килобайт |
9 Килобит = 1,125 Килобайт | 1000 Килобит = 125 Килобайт | 1000000 Килобит = 125000 Килобайт |
Компьютерный калькулятор преобразования единиц хранения данных
Использование калькулятора
Выберите имеющуюся единицу ввода и единицу вывода, в которую вы хотите преобразовать.Введите значение, которое вы хотите преобразовать, затем нажмите кнопку «Рассчитать».
В этом калькуляторе преобразования префиксы для битов и байтов (кило, мега, гига и тера) представлены в двоичной системе счисления, а не в десятичной системе счисления в общепринятых единицах СИ. Здесь 1 килобайт = 1024 байта, 1 мегабайт = 1024 килобайта, 1 гигабайт = 1024 мегабайта и т. Д. (Википедия предоставляет более полное обсуждение двоичные префиксы.) В обычной десятичной системе счисления в системе СИ с использованием, например, джоулей, 1 килоджоуль = 1000 джоулей, 1 мегаджоуль = 1000 килоджоулей, 1 гигаджоуль = 1000 мегаджоулей и т. д.
Как преобразовать единицы байтов
Чтобы просто преобразовать любую единицу измерения в байты, например, из 5 гигабайт, достаточно умножьте на значение в правом столбце в приведенной ниже справочной таблице по байтам.
5 ГБ * 2 30 [B / GB] = 5,368,709,120 B
Для преобразования байтов обратно в единицы в левом столбце разделите на значение в правом столбце или, умножив на обратную величину, 1 / x.
5,368,709,120 B / 2 30 [B / GB] = 5 ГБ
Для преобразования любых единиц в левом столбце, например, из A в B, вы можете умножить на коэффициент, чтобы преобразовать A в байты, а затем разделить на коэффициент, чтобы B преобразовал из байтов. Или вы можете найти единственный фактор, который вам нужен, разделив фактор A на фактор B.
Например, чтобы преобразовать гигабайты в терабайты, нужно умножить на 2 30 , а затем разделить на 2 40 .Или умножьте на 2 30 /2 40 = 2 (30-40) = 2 -10 . Итак, чтобы напрямую преобразовать гигабайты в терабайты, вам нужно умножить на 2 -10 .
Чтобы понять, как также преобразовывать единицы, следуйте этому примеру. Допустим, вы хотите преобразовать эксабайты в байты. Поскольку вы можете умножить что угодно на 1 и при этом сохранить исходное значение, но в других единицах, настройте его так, чтобы EB отменяла, оставляя вас с B.
С:
1 B = 2 -60 EB, 1 B / 2 -60 EB = 1Мы можем записать преобразование как:
1 EB =
1 EB * (1 B / 2 -60 EB) =
1 EB * (2 0 B / 2 -60 EB) =
1 EB * (2 (0 — -60) ) [B / EB] = 2 60 BИ теперь у нас есть коэффициент для преобразования эксабайт в байты, поскольку 1 * 2 60 = 2 60 .
Зная, что 1 EB = 2 60 B, теперь мы можем найти коэффициент преобразования для обратного преобразования. Разделив обе части уравнения на 2 60 , мы получим 2 -60 EB = 1 B. Таким образом, коэффициент преобразования байтов в эксабайты равен 2 -60 .
5 МБ в ГБ | мегабайты в гигабайтах
Вот ответ на такие вопросы, как: Конвертер единиц данных.Что такое 5 мегабайт в гигабайтах? Сколько мегабайт в 5 гигабайтах?
Используйте указанные выше единицы данных или конвертер хранилища не только для преобразования из МБ в ГБ, но и для преобразования из / во многие единицы данных, используемые в памяти компьютера.
Таблица преобразованиябайт для двоичного и десятичного преобразования
В приведенной ниже таблице делается попытка объяснить сценарий 2016 года. Эти определения не являются консенсусом. Использование таких единиц, как кибибайт, мебибайт и т. Д. (IEC), широко не известно.
Двоичная система (традиционная)
В хранилище данных традиционно при описании цифровых схем килобайт составляет 2 10 или 1024 байта.Это происходит из-за двоичного возведения в степень, общего для этих схем. Это так называемая БИНАРНАЯ система, в которой кратность байтов всегда является некоторой степенью двойки.
Двоичный префикс kibi (старый k) означает 2 10 или 1024, следовательно, 1 кибибайт равен 1024 байтам. Единицы (Kib, MiB и т. Д.) Были установлены Международной электротехнической комиссией (IEC) в 1998 году. Эти единицы используются для емкости оперативной памяти (RAM), такой как размер основной памяти и кеш-памяти ЦП, из-за двоичной адресации. памяти.40 байт = 1 099 511 627 776 байт и так далее …
Десятичная система (СИ)
В последнее время большинство производителей жестких дисков используют десятичные мегабайты (10 6 ), которые немного отличаются от десятичной системы для малых значений и значительно отличаются для значений порядка терабайт, что сбивает с толку. Это так называемая система DECIMAL, в которой кратность байтов всегда равна некоторой степени десяти, как показано ниже:
- 1 байт (B) = 8 бит (b) (один байт всегда 8 бит)
- 1 килобайт (кБ) = 10 3 байт = 1000 байт
- 1 мегабайт (МБ) = 10 6 байт = 1000000 байтов
- 1 гигабайт (ГБ) = 10 9 байт = 1000000000 байт
- 1 терабайт (ТБ) = 10 12 байт = 1 000 000 000 000 байтов и так далее…
Пожалуйста, проверьте таблицы ниже, чтобы узнать больше единиц.
Кратные биты
Единица | Символ | В битах | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Бит | бит | 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Килобит | Кбит | 1000 1024 Мбит | Мбит | 1000 2 = 1000000 | Мебибит | Мибит | 1024 2 = 1048576 | Гибибит | Гибит | 1024 3 = 1073741824 | Терабит | Тбит | 1000 4 = | 1000 4 = 100000000009 9709 9709 4 = 1099511627776 | Петабит | Пбит | 1000 5 = 1000000000000000 | Pebibit | Pibit | 1024 5 = 11258992620 | 600036 Exbibit | Eibit | 1024 6 = 1152921504606850000 | Zettabit | Zbit | 1 000 7 = 1000000000000000000000 | Zebibit | Zibit | 1024 7 = 1180591620717410000000 | Йоттабит | Ибит | 1000 8 = 1000000000000000000000000 | Йобибит | Йибит | 1024 8 409 | 1024 8 149 | 00 8 | Число, кратное байту
|