Сколько 16 бит в байт: Ошибка 404: Файл не найден

Содержание

Сколько битов или байтов содержится в символе?

Сколько битов или байтов приходится на «character»?

character-encoding

byte

Поделиться

Источник


RedKing    

31 января 2011 в 11:17

2 ответа


  • Вычислить набор битов в символе

    Итак, я увидел этот один вопрос в паутине, который был примерно таким: Напишите функцию, которая подсчитывает количество битов в символе Теперь, очевидно, это смутило меня (иначе меня бы здесь не было). Моя самая первая мысль была: разве все char s не 16 бит по умолчанию? но очевидно, что это…

  • Найти, сколько битов включено в число

    Я знаю, как узнать, сколько битов включено в данном числе (или сколько элементов истинно в логической Арре), используя маску и побитовые операторы, просматривая все биты, проверяя, включены ли они. Предполагая, что число имеет произвольную длину, алгоритм работает за O (n) время, где n-количество…



195

Это зависит от того, что это за символ и в какой кодировке он находится:

  • Символ ASCII в 8-битной кодировке ASCII составляет 8 бит (1 байт), хотя он может поместиться в 7 бит.

  • Символ ISO-8895-1 в кодировке ISO-8859-1 составляет 8 бит (1 байт).

  • Символ Unicode в кодировке UTF-8 находится между 8 битами (1 байт) и 32 битами (4 байта).

  • Символ Юникода в кодировке UTF-16 находится между 16 (2 байта) и 32 битами (4 байта), хотя большинство распространенных символов занимают 16 бит. Это кодировка, используемая Windows внутренне.

  • Символ Unicode в кодировке UTF-32 всегда имеет 32 бита (4 байта).

  • Символ ASCII в UTF-8 равен 8 битам (1 байт), а в UTF-16 — 16 битам.

  • Дополнительные (не ASCII) символы в ISO-8895-1 (0xA0-0xFF) заняли бы 16 бит в UTF-8 и UTF-16.

Это означало бы, что в битах есть от 0.03125 до 0.125 символов.

Поделиться


Rosh Oxymoron    

31 января 2011 в 11:25



17

Есть 8 бит в байте (обычно говоря в Windows).

Однако если вы имеете дело с символами, то это будет зависеть от того, что символ Юникода charset/encoding. может быть 2 или 4 байта, так что будет be 16 или 32 бита, тогда как Windows-1252 иногда неправильно называют ANSI-это всего лишь 1 байт, так что 8 бит.

В азиатской версии Windows и некоторых других вся система работает в двухбайтовом режиме, поэтому символ равен 16 битам.

EDITED

Согласно комментарию Маттео, все современные версии Windows используют 16 бит внутри каждого символа.

Поделиться


RichardTheKiwi    

31 января 2011 в 11:19


Похожие вопросы:

Сколько символов вы можете втиснуть в Push-уведомление Apple?

Учитывая, что у вас есть супер простое уведомление, такое как { aps: { alert : <MY_MESSAGE> } } а ограничение в 256 байт для работы с каким количеством символов может быть MY_MESSAGE? Или…

Сколько битов считывается fgetc в потоке?

Сколько битов считывается функцией fgetc в потоке? Man-страница fgetc говорит, что эта функция читает character, но символ для меня не является четким определением. Сколько битов содержит character…

Node.js: сколько битов в строке?

Возможный Дубликат : Сколько байтов в строке JavaScript? Длина строки в байтах в JavaScript Как я могу вычислить, сколько битов в строке? На самом деле мне нужно, сколько октетов (8-битных байтов) в…

Вычислить набор битов в символе

Итак, я увидел этот один вопрос в паутине, который был примерно таким: Напишите функцию, которая подсчитывает количество битов в символе Теперь, очевидно, это смутило меня (иначе меня бы здесь не…

Найти, сколько битов включено в число

Я знаю, как узнать, сколько битов включено в данном числе (или сколько элементов истинно в логической Арре), используя маску и побитовые операторы, просматривая все биты, проверяя, включены ли они….

Сколько битов указано для действительной и мнимой частей в сложном классе c++

Я использую сложный класс для чисел с плавающей запятой, может ли кто-нибудь сказать мне точно, сколько битов или байтов выделено для реальной и мнимой части данных. Кроме того, каков формат, в…

Сколько битов информации содержится в одном символе?

Поэтому у меня есть вопрос для домашнего задания в моем классе безопасного программирования и тестирования. Вопрос заключается в рассмотрении счета Windows NT или UNIX shell. Сколько битов…

Сколько битов представляет символ ONE и сколько битов представляет один байт в ASCII?

Я знаю, что это просто, но я все еще не знаю этого. Некоторые люди говорят, что три-это 7 бит, которые представляют символ, в то время как некоторые говорят 8. Так может ли кто-нибудь просто сказать…

128 бит (16 байт) GUID сжимается до скольких битов или байтов?

Многие статьи в интернете говорят о сжатии GUID с 36 символов до 22 символов с использованием base64. Я хотел бы знать, сколько байтов или битов точно представляют сжатый GUID(22 character)? GUID…

Как извлечь несколько битов или байтов из массива байтов?

Мне нужна функция, которая помогла бы мне извлечь несколько битов или байтов из начальной позиции бита из массива байтов. Порядок байтового массива равен LSB . Скелет кода выглядит следующим…

Дневники чайника

Дневники чайника

Системы счисления и устройство памяти.

Второй день

Поскольку компьютер в основе своей имеет только 0 и 1, на первых этапах освоения ассемблера (может быть, год) нам будут нужны только целые числа,
мало того, очень долго можно работать всего лишь с положительными целыми числами, о которых здесь и пойдёт речь.

Только целые и только положительные.

Возможно, вы проходили эту тему в школе, и кто-то из вас даже что-то помнит, но начинать нужно именно отсюда.

Нас будут интересовать 3 системы счисления — dec, bin, hex.

Десятичная — Decimal (Dec или буква «d»)

Aрабская система — она называется десятичной, потому что в ней используются 10 символов.

0,1,2,3,4,5,6,7,8,9

Все значения представляются этими символами. Вы и сами знаете, как пользоваться десятичной системой, так как мы все выросли на ней и каждую минуту чего-нибудь считаем.

Запомни, юнга! В космосе нет верха, нет низа — это всё условности. И то, что у тебя десять пальцев на руках, это всего лишь исключение.
У наших бинарных братьев всего два пальца, они смеются над тобой — урод десятипалый :). У них есть на это право, их больше и они старше.
С Бинарниками надо дружить, иначе корабль собьют на подходе к первой же станции.

Двоичная система счисления — Binary (Bin или буква «b»)

Нетрудно догадаться, что двоичная система имеет всего два символа 0 и 1.

Компьютер — это очень простой прибор, в нём есть только выключатели — биты (вкл. =1, выкл. =0).

Понятие Bit, скорее всего, произошло от английских слов Binary — двоичная и Digit — цифра.
Но поскольку битов о-о-очень много, биты строятся в байты.

11111111 - это байт
01010101 - и это байт
00000000 - и это тоже байт

Бит может иметь значение 0 или 1.

Байт — это 8 бит, и он может иметь значения от 0000 0000 — ноль, до 1111 1111 — 255 в десятичной системе
(пробелы для читаемости). Получается, что у байта 256 значений (всегда считается вместе с нулевым).

биты       dec-цифры     |    биты       dec-цифры
00000001 = 1             |    00001011 = 11
00000010 = 2  !          |    00001100 = 12
00000011 = 3             |    00001101 = 13
00000100 = 4  !          |    00001110 = 14
00000101 = 5             |    00001111 = 15
00000110 = 6             |    00010000 = 16  !
00000111 = 7             |    00010001 = 17
00001000 = 8  !          |    00010010 = 18
00001001 = 9             |    00010011 = 19
00001010 = 10            |    00010100 = 20
И так до 11111111 = 255.

Переводить из десятичных цифр в биты (то есть в двоичные цифры) и обратно можно на виндовом калькуляторе (в инженерном режиме).
Потренируйтесь пока так. Учить наизусть всю таблицу не нужно, познакомились — уже хорошо. :)

Как вы думаете, почему я выделил 2,4,8,16?

Правильно, это «круглые» цифры. В десятичной системе они, конечно, не круглые, но в двоичной получается 10,100,1000,10000.
Поэтому десятичная система для компьютерных вычислений не очень подходит. Вместо неё используется…

Шестнадцатиричная система счисления — Hexadecimal (Hex или буква «h»)

Имеет целых 16 символов. Чтоб не придумывать новые символы, в hex используются буквы латинского алфавита.

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F  - это цифры

Я приравняю все hex-символы к десятичным значениям.

h d    h d    h d     h d 
0=0    4=4    8=8     C=12
1=1    5=5    9=9     D=13
2=2    6=6    A=10    E=14
3=3    7=7    B=11    F=15

В этой системе счисления ноль справа прибавляется при умножении на 16 (десятичных).

Лишние нули слева от числа значения не имеют, так же, как и в математике.

Однако если число начинается с буквы (A-F), ноль слева нужен при наборе программ.
Иначе как компилятор будет определять, что началось число?
А чтобы не путать числа в разных системах и писать при этом коротко, пишут:

d — десятичные значения

01,02,03,04,05,06,07,08,09,10d,11d,12d,13d,14d,15d,16d,17d,18d,19d,20d...

h — шестнадцатиричные значения

01,02,03,04,05,06,07,08,09,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh,10h,11h,12h,13h,14h...

b — двоичные значения

0,1,10b,11b,100b...

Вот примеры:

01   *  16d = 10h     (получается 16d)
10h  *  16d = 100h    (получается 256d)
100h *  16d = 1000h   (получается 4096d)


1    *  10h  = 10h
10h  +  10h  = 20h
10h  *  10h  = 100h
100h +  100h = 200h

10b  *  10b  = 100b

Удобно, правда? А вот так?

10d + 10h = 1Ah или 26d

Неудобно. Поэтому всегда ВСЕ ВЫЧИСЛЕНИЯ ДЕЛАЙТЕ В ОДНОЙ СИСТЕМЕ!

Сам я никогда не перевожу из hex в dec и в bin в уме или на листочке, для этого есть калькулятор.
И мне знакома эта растерянность перед новыми цифрами. Но я и не рассчитываю, что стало понятно хоть что-то.
Просто вы должны знать, что системы счисления hex & bin существуют.
Через месяц практики вы привыкнете к шестнадцатиричной системе как к родной.
А вот двоичная будет использоваться только в пределах четырёх байт.
На экране монитора мне лишь изредка приходится видеть биты как «01011010», хотя часто их очень не хватает.

Теперь ещё раз про байт.


bin-числа   hex-числа
00001000  = 08
00010000  = 10h
00100000  = 20h
01000000  = 40h
10000000  = 80h
...
11111111b = FFh

В байт умещаются ровно два разряда hex-системы счисления! Именно так мы и будем видеть байты.
Вспомните наш нулевой эксперимент:

         байты в hex                     символы в кодировке DOS (Р - русская буква)
90 41 90 41 90 90 41 41 42 43 44       |    РAРAРРAABCD

Теперь вы понимаете, что я имел в виду, сказав: «90 здесь 144». Правильнее было бы сказать 90h = 144d.

Байт это 8 бит, и что самое главное, байт — минимально адресуемая ячейка памяти.

Если нужно прочитать информацию, например, из бита 900, то нам нужно обратиться к 112-му байту и посмотреть в нём бит номер 4.

      | Адрес в байтах    |    Информация в БИТАХ
      |                   |    76543210 - номера бит (разряд)
------|-------------------|-----------------------------------------------
 111d | 0000006F          |    00000000
 112d | 00000070          |    000?0000
 113d | 00000071          |    00000000
 114d | 00000072          |    00000000

Конечно же, в компьютере физически биты не разделяются пробелами. Вся оперативная память, например, — сплошной поток выключателей :).

Но при отображении биты обычно разделяют на:
байты — 8 бит, две hex-цифры, или
тетрады — 4 бита, одна hex-цифра.

Обратите внимание на запись. Мы нумеруем биты справа налево и обязательно от нуля
— это стандарт для учебников и документации. Кроме того, нумерация от нуля имеет математический смысл (разряды нужно осознать!).

Хотя так информацию мы видеть практически не будем. Вместо битов везде будут hex-байты, вот так:

        Адрес в байтах    |    Информация в БАЙТАХ
       -------------------|---------------------------------------
        0000006F          |    00
        00000070          |    00
        00000071          |    00
        00000072          |    00

или вот так:

        Адрес в байтах    |    Информация в БАЙТАХ
       -------------------|---------------------------------------
        0000006F          |    00 00 00 00

Здесь вынужден заметить: адреса в файле и адреса в оперативной памяти — это совершенно разные вещи.

Далее по тексту я буду грубо писать: «адрес в памяти», под этими словами мы будем подразумевать часть логического адреса,
которую принято называть смещением (offset). В рамках наших уроков смещение — вполне достаточный адрес в памяти.
Однако смещение — это не полный логический адрес и называть смещение адресом без оговорок — довольно грубо!
В следующем витке мы обязательно разберём адресацию памяти в разных режимах процессора, и там я расскажу,
что такое сегмент и смещение.

А сейчас запомните. Когда я пишу: адрес в файле, я подразумеваю номер байта в файле от нуля. И это норма.
А вот когда я пишу: адрес в памяти, это значит, что речь идёт о части логического адреса, называемой смещением (тоже от нуля).

Да простят меня профи за такую вольность.

Юнга, после обеда я научу тебя писать дельные программы для вспомогательного бортового оборудования.
Ты, конечно, пуст, как первая ступень, и ни черта не понял за сегодня, но у меня нет времени рассусоливать, нас давно ждут.

Первая полезная программа

Что там у нас дальше по учебнику? Этого вам пока не надо… Этого я и сам ещё не знаю… Тут слишком много умностей…
Нет, пожалуй, продолжу, как предложил Олег Калашников. Пожалуй, лучший подход для любителей практики.

Эксперимент 01 (prax01.com)

Я по-прежнему подразумеваю, что вы используете WinXP и пример должен работать.

Создайте файл с расширением «com» (напомню в FAR’e — Shift+F4). Назвав файл, напечатайте в нём любую букву или цифру, ну, допустим, «1».
Сохраните файл (в FAR’e — Esc).

Нет, это ещё не программа, этот файл выполнять не нужно. Откройте в Hiew’e.

Сейчас вы видите 1, если нажать «F4» (Mode), то, как и в тот раз, вы увидите байт в hex-виде. F4 еще раз покажет дизассемблерный код.
Если в файле единица, то выглядеть код будет так:


Адреса    Байты         Имена    Операнды
00000000: 31            xor    [bx][si],ax

В отличие от команды nop, которую вы уже видели, большинство команд используют предметы для действия.

Предмет, с (или над) которым производится действие, называется операнд.

Операнды в ассемблере для Интел-совместимых процессоров принято разделять запятыми.
То есть в некоторых системах или в других языках программирования пишут:

AX xor 44

или вполне может быть такая форма записи:

44,55 xоr AX

Но в x86 ассемблере принято писать так:

xor AX,44

где AX - операнд 1 (он же приёмник), 
  а 44 - операнд 2 (он же источник).

Из всего этого главное сейчас усвоить, что операндов не больше трёх (чащё всего 2), они разделяются запятыми и идут после имени команды.
Давайте писать настоящую программу на ассемблере.

В Hiew’e (когда вы видите дизассемблерный код нашего файла) нажмите F3 и затем Enter.
Теперь можно набирать программу на ассемблере (символ «1» в файле должен стереться).
Каждая инструкция вводится Enter’ом и превращается в строку, если нет явной ошибки.
Пробелы нужны только для удобства, поэтому неважно, сколько их. Пишите как хотите, строчными или прописными буквами, но только по-англицки. :)

Вот код программы, его нужно набрать:

mov  ah,9
mov  dx,10Dh
int  21h
mov  ah,10h
int  16h
int  20h

Когда всё напишете, нажмите один раз Esc, чтобы прекратить ассемблирование, и F9, чтобы сохранить файл.

Это был весь код программы, которая должна выводить строку на экран! Круто, правда? Только не хватает самой строки.

Для того, чтоб вписать строку, нужно открыть файл в текстовом редакторе (в FAR’e — F4).

Допишите после всех закорючек (только не сотрите ничего) любую текстовую строку и в конце поставьте знак $.

Это может выглядеть примерно так:

_?_?
_?_?_?_?_Good Day!$

Закорючки будут другие, но вид такой. Сохраните программу. Откройте снова в Hiew’e.


Адреса    Маш.команды Команды Асма      комментарии
          Байты       Имена Операнды   

00000000: B409        mov   ah,009    ; Поместить значение 9 в регистр AH (параметр1)
00000002: BA0D01      mov   dx,0010D  ; Поместить адрес текстовой строки в DX (параметр2)
00000005: CD21        int   021       ; Вызвать подпрограмму, в которой
                                      ; отработает функция вывода текста на экран (AH=09)

00000007: B410        mov   ah,010    ; Поместить значение 10h в регистр AH (параметр1)
00000009: CD16        int   016       ; Вызвать подпрограмму ожидания нажатия клавиши
0000000B: CD20        int   020       ; Подпрограмма завершения

0000000D: 47          inc   di
0000000E: 6F          outsw
0000000F: 6F          outsw
00000010: 64204461    and   fs:[si][61],al
00000014: 7921        jns   000000037  ---X
00000016: 24          and   al,000

Принято так, что после точки с запятой идёт комментарий, просто пояснение для людей.
В этом примере я откомментировал все строки кода программы. Только вам от этого пока не легче.

Видите, начиная с адреса в файле 0000000Dh, появились команды, которые вы не писали, это всего лишь строка текста.
Её процессор выполнять не будет только потому, что перед строкой текста стоит код завершения (int 20).

Запустите программу (можно из проводника)…
Если компьютер с вами поздоровался — я вас тоже поздравляю! Значит, у вас есть шанс научить его делать и более сложные вещи.

Вы увидите окно DOS-приложения с текстом:

Good Day!

Нажатие на любую клавишу вызовет выход из программы.

Если же этого не произошло — не расстраивайтесь. Перепроверьте всё несколько раз, может быть, вы опечатались.
Прочитайте «Аннотацию» в последней главе или комментарии. Я пока ничего подобного не написал, но, возможно, когда-нибудь придётся.
Ведь у нас нет гарантии, что новые твАрения MS или других «рук» не изменят ситуацию в худшую сторону.
Хотя, будем надеяться, что программа заработает и на новых OS’ях и процессорах.

«$» не выводится. Хм, интересно :/ Это условный символ конца строки?

Да, но в windows мы будем использовать нулевой байт (00h) для этой же цели.

Вот, уже получилась полнофункциональная программа для DOS, которая будет работать и в Windows.

Прямо так и вижу следующие «почему»:

Почему mov?

Почему ah?

Почему 9?

И вообще, что это за подпрограммы-прерывания int 16, int 21, int 20.

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

На самом деле вывод строки на экран без специальной DOS-функции ничуть не сложнее.
Мы используем именно такой способ из-за того, что он наиболее схож с программированием под Win.
Здесь было бы аккуратнее и быстрее выводить на экран без специальной подпрограммы DOS-функций.

Но ДОС в прошлом, а нас ждёт Win32.

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

Мы завтра весь день будем искать ответ на вопрос «Почему ah», так как этот «почему» — самый важный во всём ассемблере. Серьёзно!

Bitfry


какие чаще всего используются и как рассчитываются байты, биты и мегабайты

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

В современной вычислительной технике (компьютерах) наименьшей единицей информации является бит. Одним битом кодируется один единственный символ в двоичной системе. То есть один бит, позволяет записать в какой-либо из разрядов значение «0» или «1».

Сколько бит в байте

Очевидно, что одним битом, несущим в себе одно лишь число, закодировать какое-либо число невозможно. Поэтому следующей единицей измерения стал байт, состоящий из 8 бит. Биты внутри байта записывают двоичный восьмиразрядный код.

1
1
1
1
1
1
2 7
2 6
2 5
2 4
2 3
2 2
2 1
2

В первой строке таблицы мы записали 1 байт информации, а именно «10110111». Для того чтобы понять, какое число кодируется этим байтом, необходимо возводить двойку в степень, соответствующую разряду каждого бита справа налево, начиная с нулевого разряда. Если в каком-либо разряде байта стоит бит, содержащий «0» (в данном случае это третий и шестой разряды), то этот разряд суммировать не нужно. Таким образом, закодированное нами число в 1 байте равно 183. Соответственно, максимальное число будет выглядеть так: 11111111 и будет равно 256.

Другие единицы измерения информации

После того, как мы разобрались в том, что 1 байт состоит из 8 бит, стоит изучить следующие «старшие» единицы измерения. Они образуются приставками к байту из СИ (система интернационал),

  • Кило,
  • Мега,
  • Гига,
  • Тера.

Сложность здесь состоит в том, что при переходе от одной приставки к другой необходимо использовать кратность 1024, а не 1000, принятой в физических единицах измерения. Соответственно в 1 килобайте содержится 1024 байта, а чтобы перевести мегабайты в байты потребуется дважды перемножить объем информации в Мбайт на 1024. Отвечая на вопрос, чему равен 1 гигабайт в байтах, потребуется трижды произвести деление объема байтов на 1024.

Таблица единиц информации

Для того чтобы быстро ориентироваться в единицах информации и уметь быстро перевести мегабайты в гигабайты, можно пользоваться следующей таблицей единиц информации:

Бит
Байт
Килобайт
Мбайт
Гигабайт
Бит
1
8
8192
8338608
8589934592
Байт
8
1
1024
1048576
1073741824
Килобайт
8192
1024
1
1024
1048576
Мегабайт
8338608
1048576
1024
1
1024
Гигабайт
8589934592
1073741824
1048576
1024
1
Расчёт единиц измерения информации от бита до гигабайта

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

Частая ошибка при выборе тарифного плана

Любой интернет-провайдер, предоставляющий Вам доступ к сети интернет предлагает на выбор большое количество тарифов. При этом скорость интернет соединения обозначается как «Mb/s», либо «mbps», что означает «мегабит в секунду» в то время как большое количество людей ошибочно принимают это обозначение за «мегабайт в секунду», и таким образом на выходе получают скорость интернет соединения в 8 раз медленнее. Теперь вы знаете, сколько мегабит в мегабайте и без труда переведете мегабайт в мегабит. Для удобства перевести байты можно использовать специальный конвертер байт.

Таким образом, если в тарифном плане указана скорость интернет соединения 40mbps, то при скачивании файлов из сети интернет, вы будете иметь скорость 5 мбайт в секунду. Ведь скачиваемые из сети файлы измеряются именно в байтах, а не в битах. Все дело здесь в том, что при получении и передачи данных в сети интернет Вы постоянно посылаете и принимаете код, а как Вы уже знаете, кодирование осуществляется за счет бит, поэтому Ваш интернет провайдер вынужден указывать скорость интернет соединения именно в мегабитах (mbps), заставляя вас переводить мегабиты в мегабайты. Для того чтобы узнать сколько килобайт мобильного интернета предоставляет ваш оператор, необходимо почитать соответствующие документы по тарификации.

Сколько времени необходимо для скачивания файла

При скачивании аудио, видео и других файлов из сети интернет, необходимо понимать, за какое время будет произведено получение этих данных. К примеру, средний полнометражный фильм в HD-качестве с хорошим озвучиванием будет иметь размер порядка 5 гигабайт. Несложно посчитать, что 5 гигабайт = 5120 мбайт = 40960 мегабит. Остается только поделить размер файла в мегабитах на скорость интернет соединения в тех же мегабитах. В случае интернет соединения 40мбит/с, загрузка файла займет 1024 секунды, что составляет чуть более 17 минут.

Теперь вы знакомы с тем, сколько байт в мегабайте, ответив, что в 1 мегабайте 1048576 байт, и без труда сможете перевести килобиты в мегабиты.

Если
в результате получения сообщения
достигнута полная ясность в данном
вопросе (т.е. неопределенность исчезнет),
говорят, что получена исчерпывающая
информация. Это означает, что нет
необходимости в дополнительной информации
на эту тему. Напротив, если после получения
сообщения неопределенность осталась
прежней (сообщаемые сведения или уже
были известны, или не относятся к делу),
значит, информации получено не было
(нулевая информация).

Бит


– наименьшая единица представления
информации. В
информатике часто используется величина,
называемая байтом (byte) и равная 8 битам.

Байт


– наименьшая единица обработки и
передачи информации.

Бит
позволяет выбрать один вариант из двух
возможных;
байт, соответственно, 1 из
256 (2 8).

Наряду
с байтами для измерения количества
информации используются более крупные
единицы:

1
Кбайт (один килобайт) = 2 10
байт = 1024 байт;

1
Мбайт (один мегабайт) = 2 10
Кбайт = 1024 Кбайт;

1
Гбайт (один гигабайт) = 2 10
Мбайт = 1024 Мбайт.

В
последнее время в связи с увеличением
объёмов обрабатываемой информации
входят в употребление такие производные
единицы, как:

1
Терабайт (Тб) = 1024 Гбайт = 2 40
байта,

1
Петабайт (Пб) = 1024 Тбайт = 2 50
байта.

Пример

.
Упорядочите по возрастанию следующую
последовательность:

1024
Мбайт, 11 Петабайт, 2224 Гбайт, 1 Терабайт.

Решение

.
Сначала приведем величины измерения
количества информации к единой величине,
удобной для данной последовательности.
В данном случае – это Гбайт.

1024
Мбайт = 1 Гбайт, что меньше 1 Терабайт =
1024 Гбайт, что, в свою очередь меньше 2224
Гбайт и меньше 11 Петабайт,

Следовательно,
последовательность, упорядоченная по
возрастанию, имеет вид:

1024
Мбайт, 1 Терабайт, 2224 Гбайт, 11 Петабайт

II. Кодирование информации.

Компьютер
может обрабатывать только информацию,
представленную в числовой форме. Вся
другая информация (тексты, звуки,
изображения, показания приборов и т.д.)
для обработки на компьютере должна быть
преобразована в числовую форму.

Переход
от одной формы представления информации
к другой, более удобной для хранения,
передачи или обработки, называется
кодированием


информации.

Кодирование


– это операция преобразования знаков
или групп знаков одной знаковой системы
в знаки или группы знаков другой знаковой
системы.

Как
правило, все числа в компьютере
представляются с помощью нулей и единиц,
т.е. работа производится в двоичной
системе счисления, поскольку при этом
устройства для их обработки получаются
значительно более простыми.

1. Кодирование текста.

При
вводе в компьютер каждая буква кодируется
определенным числом, а при выводе на
внешние устройства (экран или печать)
для восприятия человеком по этим числам
строятся изображения букв. Соответствие
между набором букв и числами называется
кодировкой символов.

Алфавитный
подход основан на том, что всякое
сообщение можно закодировать с помощью
конечной последовательности символов
некоторого алфавита. Множество символов,
используемых при записи текста, называется
алфавитом

.
Количество символов в алфавите называется
его мощностью

.

Существует
двоичный алфавит, который содержит
только 2 символа, и его мощность равна
двум.

Для
представления текстовой информации в
компьютере чаще всего используется
алфавит мощностью 256 символов. Один
символ из такого алфавита несет 8 бит
информации, т.к. 2 8
= 256.

8
бит составляют один байт, следовательно,
двоичный код каждого символа занимает
1 байт памяти ЭВМ. Традиционно для
кодирования одного символа используется
количество информации, равное 1 байту
(8 битам). Все символы такого алфавита
пронумерованы от 0 до 255, а каждому номеру
соответствует 8-разрядный двоичный код
от 00000000 до 11111111.

Для
разных типов ЭВМ и операционных систем
используются различные таблицы кодировки,
отличающиеся порядком размещения
символов алфавита в кодовой таблице.
Международным стандартом на персональных
компьютерах является таблица кодировки
ASCII. Сообщения, записанные с помощью
символов ASCII, используют алфавит из 256
символов.

Кроме
того, в настоящее время существует еще
ряд кодовых таблиц для русских букв. К
ним относится таблица кодировки КОИ8,
использующая алфавит из 256 символов.

Широкое
распространение получил новый
международный стандарт UNICODE, который
отводит на каждый символ не один байт,
а два, поэтому с его помощью можно
закодировать не 256 символов, а 2 16
= 65536 различных символов.

Информативность
последовательности символов не зависит
от содержания сообщения.

Чтобы
определить объем информации в сообщении
при алфавитном подходе, нужно
последовательно решить задачи:

    Определить
    количество информации (i) в одном символе
    по формуле
    2i = N, где N – мощность
    алфавита,

    Определить
    количество символов в сообщении,
    учитывая знаки препинания и пробелы
    (m),

    Вычислить
    объем информации по формуле: V = i * m.

Пример

.
Закодировано текстовое сообщение
«Десять букв», определить его информационный
объем по системе ASCII и UNICODE.

Решение

.
Сообщение содержит 11 символов. Один
символ из алфавита ASCII несет 8 бит
информации, поэтому информационный
объем по системе ASCII составит 11*8 бит =
88 бита = 11 байт.

Один
символ из алфавита UNICODE несет 16 бит
информации или 2 байта, поэтому
информационный объем по системе UNICODE
составит 11*16 бит = 176 бит = 22 байта.

Для
двоичного сообщения той же длины
информационный объем составляет 11 бит,
т.к. N
= 2, i
= 1 бит, m
= 11, V
= 11 бит.

Все разделы сайта сайт

На этой странице мы подробно рассмотрим
структуру файла

Вы знаете из чего
состоит компьютерный файл? Нет? Тогда
вам будет интересно узнать это, а также
много забавных вещей:)))

Например, как
компьютер определяет эротические фотографии?
То есть он может даже определить и сравнить
фото, то есть найти одинаковые фотографии,
не важно в каком они формате: jpg или
gif

Как же такое возможно?
Все очень просто. Структура любого изображения
состоит всего (!!!) из двух цифр, которые
сменяют друг друга в определенной последовательности.

Начнем сначала…

Размер байта

Из
чего состоит один байт
? Из каких
символов и числовых значений?

1 байт

состоит из восьми битов… ниже будет
большой видео-урок

а также приведена
специальная таблица.

В связи с той
неразберихой, которая царит в обозначениях
емкости винчестеров (жестких дисков),
очень многие пользователи путаются в
терминах.

А изготовители
компьютерных девайсов и продавцы в магазинах
вполне сознательно «путают»
понятия «мегабайт» и «гигабайт»
с миллионами и миллиардами байтов.

Наверняка вы сами
были удивлены несоответсвием заявленного
количества гигабайтов и мегабайтов в
купленно жестком диске, будь он внутренний
или внешний, с накопителями всегда такая
история:)

Как узнать
сколько байт в килобайте или мегабайте
?
Вопрос не праздный:) Многие люди, которым
за тридцать не учили в школе информатику
и теперь пополняют отсутствие знаний
в интренете. Вот подсказка:

А для быстрого и точного числового
перевода значений
лучше пользоваться таким конвертером:

Теперь вы без труда посчитаете сколько
байт в килобайте
:))))

В этом уроке мы
будем разбирать тип файла bmp. Вначале
немного окунемся в школьный курс информатики.
Итак, разберем этот файл по байтам.

Для тех кто не
имеет представление что такое биты,
байты, килобиты, мегабайты и т.п. выше
на странице приведена подробная таблица
с данными.

Посмотрите отличный
большой видеоурок Артема Кашеварова.
Эта информация не совсем для новичков
(чайников), хотя им тоже будет очень
интересно и познавательно посмотреть!

Не забудьте включить колонки

================

Что будет в этом видео-уроке? Заглянем
в структуру файла
.

Например, возьмем точечный рисунок.
Разберем его на байты.

Для тех кто не
знает, в видео-уроке будет рассказано
и показано, что такое бит, байт, килобайт,
килобит, мегабайт.

А также, обработка
по вертикали. Двоичный код байта

и как определить насколько сжато изображение

Размер байта, сколько битов в байте
и т.п. в десятиричной системе

Как просчитывать
данные и работать в программной
среде Delphi
… поменять разрядность
и битность изображения… как оно тогда
изменится внешне?

Сколько занимает
один байт, как он отображается и как
записывыется изображение в
байтах

Как хранятся пиксели
по горизонтали и вертикали, последовательность
пикселей… как устроено изображение,
посмотрим на глубину цвета изображения.

Затем редактируем
код обработки изображения, вычислить
строки файла, изменение формата изображения,
а также обзор структуры файла — из чего
состоит файл изображения

Что такое операция
«mod», чтение изображение
по байтам…

Вы узнаете, что
такое информационные байты и палитра
изображения, каковы его цветовые составлящие,
что такое символьный формат и виды
форматов файлов
.

Изменение формата изображения

В конце урока
вы видите создание программы и азы программирования
на Delhi … а также, как изменить размер
изображения в пикселах

Некоторые современные пользователи, которые разбираются в компьютерах, могут с уверенностью сказать, что в одном байте содержится восемь бит информации, и будут по-своему правы. Однако это не всегда так: в этой статье мы расскажем вам подробнее, сколько бит в байте.

История вопроса о байтах и битах

Большинство современных компьютеров используют именно такую информацию, где один байт равен восьми битам. Но все дело в том, что старые компьютеры (то есть одни из первых) использовали байт с совершенно другим количеством битов, где в одном байте содержалось от шести до девяти битов. На самом деле байт — это единица измерения информации, которую придумали сравнительно недавно. Байт стал равен восьми битам лишь с 1970 года, поскольку именно тогда ввели на это стандарт.

Почему байт равняется именно восьми, вам никто точно не скажет, но давайте хотя бы разберемся, почему восемь бит выбрали в качестве стандарта. Так, в одной из старых вычислительных систем одна цифра занимала четыре бита. И поэтому байт, равный восьми битам, позволял вмещать в себя двухзначные числа и, таким образом, байт шестибитный стал бесполезен, так как две цифры в байт уже попросту не вмещалось.

Еще одна версия, почему приняли стандарт равный восьми, заключается в том, что все числа, связанные с компьютером, кратны именно восьмёрке. Пример: оперативная память. Вначале идет 128 мегабайт, далее 256, чуть позже 512, а потом уже идут гигабайты (один, два, четыре, восемь и т.д.) Вот и результат: четыре бита — слишком мало, 16 никогда не применялись, а вот восемь — как раз то, что надо.

Переводим биты в байты и обратно

Давайте теперь попробуем ответить на вопрос, сколько бит содержит 2 байта? Итак, мы знаем, что один байт равен восьми, соответственно, восемь нужно умножить на два, получится шестнадцать. Получается, что в двух байтах содержится шестнадцать бит.

Полезно знать, что 1024 байта составляют килобайт (или можно сказать, что килобайт — это 8192 байта), 1024 килобайта — мегабайт, а 1024 мегабайта — гигабайт. Соответственно, терабайт — это уже 1024 гигабайта. Надо сказать, что в последнее время информацию стали мерить уже и терабайтами, поэтому и эти знания нам вскоре пригодятся.

Возможно, вам также будет интересно узнать и другую информацию по этой теме из нашей статьи .

Двоичный
разряд, двоичное число по-английски
Bi
naryDigit
. Из
трех букв этих слов образовали звонкое
словоbit
, которое уже
было в английском языке (bit– кусочек, кусок). В информатике оно
имеет то же значение, что иBi
naryDigit
, но
ему добавили и новый смысл.

Бит – единица
информации и единица представления
информации в компьютере.

Бит (один разряд
двоичного числа) может принимать два
значения: 0 или 1. В десятичных числах
один разряд может принимать значения
от 0 до 9. Если число одноразрядное
(однобитовое), то 0 или 1 – это значение
числа и цифры числа, которые в этом
случае совпадают.

Поскольку компьютер
может обрабатывать только двоичные
числа, кодировать информацию можно
только этими двоичными числами. В этом
случае мы можем сказать, что азбука,
используемая для кодирования информации,
состоит из двух символов (чисел) 0 и 1.

Одноразрядным
двоичным числом, т. е. одним битом, можно
закодировать всего два символа, так как
он принимает только два значения – 0
или 1. А десятичное одноразрядное число
позволит нам закодировать 10 символов,
ибо оно может иметь 10 значений – от 0
до 9.

Теперь используем
для кодирования двухразрядные числа.
Тогда в десятичной системе счисления
можем использовать для кодирования
числа от 0 до 99, т.е. 100 чисел. И закодировать
можем 100 символов, в 10 раз больше, чем
при кодировании одноразрядными числами.

Аналогичная
закономерность имеет место и при
увеличении разрядности двоичных чисел.
Двухразрядным двоичным числом можем
закодировать 4 символа, так как возможных
чисел тоже 4: 00, 01, 10, 11, т. е. в два раза
больше, чем одноразрядным. Можно
проверить, что трехразрядным двоичным
числом можно закодировать символов в
2 раза больше, чем двухразрядным. Обобщая
эту закономерность, получаем простую
формулу для определения количества
символов S
, которое
можно закодироватьn
– разрядными двоичными числами:

S

= 2
n

Двоичное
n
-разрядное число,
которое используется для кодирования
информации в компьютере, называется
байтом

.

Из этого определения
следует и другое определение байта:

Байт


единица обработки информации в компьютере,
так как по значению байта можно узнать,
какой символ им закодирован.

Если используются
для кодирования другие n-разрядные
двоичные числа, то они обязательно
берутся кратными байту.

Байт сначала имел
6, затем 7 разрядов (битов), а теперь он
равен 8-ми битам.

Одно из значений
перевода английских слов bit


и
bite



кусочек. Считая кусочек
частью целого, бит, действительно, –
часть двоичного числа. Если байтом
кодируются буквы, символы, из которых
строятся слова, то и байт выражает часть
слова.

Байты используются
также для измерения объема памяти,
оперативной и внешней, размеров файлов.
Но в этом случае применяются более
крупные единицы измерений. Например,
Килобайты (Кб), Мегабайты (Мб) Гигабайты
(Гб), Терабайты (Тб):

1 Кб = 1024 байт =
2 10 байт

1 Мб = 1024 Кб= 2 10
Кб

1 Гб = 1024 Мб= 2 10
Мб

1 Тб = 1024 Гб= 2 10
Гб

Кодирование целых и действительных чисел

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

19:2
= 9 + 1 9:2=4+1
4:2=2+0
2:2
=
1

Таким
образом, 19 10
= 1011 2 .

Для
кодирования целых чисел от 0 до 255
достаточно иметь 8 разрядов двоичного
кода
(8 бит). Шестнадцать бит позволяют
закодировать целые числа от 0 до 65 535, а
24 бита — уже более 16,5 миллионов разных
значений.

Для
кодирования действительных чисел
используют 80-разрядное кодирование.
При
этом число предварительно преобразуется
в нормализованную
форму:

3,1415926
= 0,31415926-10 1

300
000 = 0,3-10 6

123
456 789 = 0,123456789 10 1 /

Первая
часть числа называется мантиссой,
а
вторая — характеристикой.
Большую
часть
из 80 бит отводят для хранения мантиссы
(вместе со знаком) и некоторое фиксированное
количество разрядов отводят для хранения
характеристики (тоже со знаком).

Переводчик – словарь и онлайн перевод на английский, русский, немецкий, французский, украинский и другие языки. | Как перевести «бит байт

Пользователи также искали:



1,

и,

сколько,

что такое,

биты и байты для чайников,

что такое килобайт,

1 байт = 8 бит,

1 бит это,

бит и байт разница,

сколько байт в килобайте,

что такое бит,

что такое байт в молодежном сленге,

байт,

бит,

байты,

биты,

байта,

bit,

бит байт,

битов,

байтов,

байт бит,

битов байт,

бита,


1 байт = 8 бит,


16 бит сколько байт,


24576 бит сколько байт,


бит байт мегабайт,


бит и байт разница,


биты и байты для чайников,


что больше бит или байт,


что такое бит,


перевод из бит в байт,


сколько в одном байте бит,


таблица бит байт,

машинное слово в бит [б] • Конвертер единиц измерения количества информации • Популярные конвертеры единиц • Компактный калькулятор • Онлайн-конвертеры единиц измерения

Конвертер длины и расстоянияКонвертер массыКонвертер мер объема сыпучих продуктов и продуктов питанияКонвертер площадиКонвертер объема и единиц измерения в кулинарных рецептахКонвертер температурыКонвертер давления, механического напряжения, модуля ЮнгаКонвертер энергии и работыКонвертер мощностиКонвертер силыКонвертер времениКонвертер линейной скоростиПлоский уголКонвертер тепловой эффективности и топливной экономичностиКонвертер чисел в различных системах счисления.Конвертер единиц измерения количества информацииКурсы валютРазмеры женской одежды и обувиРазмеры мужской одежды и обувиКонвертер угловой скорости и частоты вращенияКонвертер ускоренияКонвертер углового ускоренияКонвертер плотностиКонвертер удельного объемаКонвертер момента инерцииКонвертер момента силыКонвертер вращающего моментаКонвертер удельной теплоты сгорания (по массе)Конвертер плотности энергии и удельной теплоты сгорания топлива (по объему)Конвертер разности температурКонвертер коэффициента теплового расширенияКонвертер термического сопротивленияКонвертер удельной теплопроводностиКонвертер удельной теплоёмкостиКонвертер энергетической экспозиции и мощности теплового излученияКонвертер плотности теплового потокаКонвертер коэффициента теплоотдачиКонвертер объёмного расходаКонвертер массового расходаКонвертер молярного расходаКонвертер плотности потока массыКонвертер молярной концентрацииКонвертер массовой концентрации в раствореКонвертер динамической (абсолютной) вязкостиКонвертер кинематической вязкостиКонвертер поверхностного натяженияКонвертер паропроницаемостиКонвертер плотности потока водяного параКонвертер уровня звукаКонвертер чувствительности микрофоновКонвертер уровня звукового давления (SPL)Конвертер уровня звукового давления с возможностью выбора опорного давленияКонвертер яркостиКонвертер силы светаКонвертер освещённостиКонвертер разрешения в компьютерной графикеКонвертер частоты и длины волныОптическая сила в диоптриях и фокусное расстояниеОптическая сила в диоптриях и увеличение линзы (×)Конвертер электрического зарядаКонвертер линейной плотности зарядаКонвертер поверхностной плотности зарядаКонвертер объемной плотности зарядаКонвертер электрического токаКонвертер линейной плотности токаКонвертер поверхностной плотности токаКонвертер напряжённости электрического поляКонвертер электростатического потенциала и напряженияКонвертер электрического сопротивленияКонвертер удельного электрического сопротивленияКонвертер электрической проводимостиКонвертер удельной электрической проводимостиЭлектрическая емкостьКонвертер индуктивностиКонвертер реактивной мощностиКонвертер Американского калибра проводовУровни в dBm (дБм или дБмВт), dBV (дБВ), ваттах и др. единицахКонвертер магнитодвижущей силыКонвертер напряженности магнитного поляКонвертер магнитного потокаКонвертер магнитной индукцииРадиация. Конвертер мощности поглощенной дозы ионизирующего излученияРадиоактивность. Конвертер радиоактивного распадаРадиация. Конвертер экспозиционной дозыРадиация. Конвертер поглощённой дозыКонвертер десятичных приставокПередача данныхКонвертер единиц типографики и обработки изображенийКонвертер единиц измерения объема лесоматериаловВычисление молярной массыПериодическая система химических элементов Д. И. Менделеева

Числа в двоичной системе

Общие сведения

Данные и их хранение необходимы для работы компьютеров и цифровой техники. Данные — это любая информация, от команд до файлов, созданных пользователями, например текст или видео. Данные могут храниться в разных форматах, но чаще всего их сохраняют как двоичный код. Некоторые данные хранятся временно и используются только во время исполнения определенных операций, а потом удаляются. Их записывают на устройствах временного хранения информации, например, в оперативной памяти, известной под названием запоминающего устройства с произвольным доступом (по-английски, RAM — Random Access Memory) или ОЗУ — оперативное запоминающее устройство. Некоторую информацию хранят дольше. Устройства, обеспечивающие более длительное хранение — это жесткие диски, твердотельные накопители, и различные внешние накопители.

Подробнее о данных

Данные представляют собой информацию, которая хранится в символьной форме и может быть считана компьютером или человеком. Бо́льшая часть данных, предназначенных для компьютерного доступа, хранится в файлах. Некоторые из этих файлов — исполняемые, то есть они содержат программы. Файлы с программами обычно не считают данными.

Избыточный массив независимых дисков RAID.

Избыточность

Во избежание потери данных при поломках используют принцип избыточности, то есть хранят копии данных в разных местах. Если эти данные перестанут читаться в одном месте, то их можно будет считать в другом. На этом принципе основывается работа избыточного массива независимых дисков RAID (от английского reduntant array of independent discs). В нем копии данных хранятся на двух или более дисках, объединенных в один логический блок. В некоторых случаях для большей надежности копируют сам RAID-массив. Копии иногда хранят отдельно от основного массива, иногда в другом городе или даже в другой стране, на случай уничтожения массива во время катаклизмов, катастроф, или войн.

Форматы хранения данных

Иерархия хранения данных

Данные обрабатываются в центральном процессоре, и чем ближе к процессору устройство, которое их хранит, тем быстрее их можно обработать. Скорость обработки данных также зависит от вида устройства, на котором они хранятся. Пространство внутри компьютера рядом с микропроцессором, где можно установить такие устройства, ограничено, и обычно самые быстрые, но маленькие устройства находятся ближе всего к микропроцессору, а те, что больше но медленнее — дальше от него. Например, регистр внутри процессора очень мал, но позволяет считывать данные со скоростью одного цикла процессора, то есть, в течение нескольких миллиардных долей секунды. Эти скорости с каждым годом улучшаются.

Карта памяти

Первичная память

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

Вторичная память

Устройства вторичной памяти, например накопитель на жестких магнитных дисках (НЖМД) или винчестер, находятся внутри компьютера. На них хранятся данные, которые не так часто используются. Они хранятся дольше, и не удаляются автоматически. В основном их удаляют сами пользователи или программы. Доступ к этим данным происходит медленнее, чем к данным в первичной памяти.

Внешняя память

Внешнюю память иногда включают во вторичную память, а иногда — относят в отдельную категорию памяти. Внешняя память — это сменные носители, например оптические (CD, DVD и Blu-ray), Flash-память, магнитные ленты и бумажные носители информации, такие как перфокарты и перфоленты. Оператору необходимо вручную вставлять такие носители в считывающие устройства. Эти носители сравнительно дешевы по сравнению с другими видами памяти и их часто используют для хранения резервных копий и для обмена информацией из рук в руки между пользователями.

Третичная память

Третичная память включает в себя запоминающие устройства большого объема. Доступ к данным на таких устройствах происходит очень медленно. Обычно они используются для архивации информации в специальных библиотеках. По запросу пользователей механическая «рука» находит и помещает в считывающее устройство носитель с запрошенными данными. Носители в такой библиотеке могут быть разные, например оптические или магнитные.

Виды носителей

Привод DVD

Оптические носители

Информацию с оптических носителей считывают в оптическом приводе с помощью лазера. Во время написания этой статьи (весна 2013 года) самые распространенные оптические носители — оптические диски CD, DVD, Blu-ray и Ultra Density Optical (UDO). Накопитель может быть один, или их может быть несколько, объединенных в одном устройстве, как например в оптических библиотеках. Некоторые оптические диски позволяют осуществлять повторную запись.

Полупроводниковый накопитель

Полупроводниковые носители

Полупроводниковая память — одна из наиболее часто используемых видов памяти. Это вид памяти параллельного действия, позволяющий одновременный доступ к любым данным, независимо в какой последовательности эти данные были записаны.

Почти все первичные устройства памяти, а также устройства флеш-памяти — полупроводниковые. В последнее время в качестве альтернативы жестким дискам становятся более популярными твердотельные накопители SSD (от английского solid-state drives). Во время написания этой статьи эти накопители стоили намного дороже жестких дисков, но скорость записи и считывания информации на них значительно выше. При падениях и ударах они повреждаются намного меньше, чем магнитные жесткие диски, и работают практически безшумно. Кроме высокой цены, твердотельные накопители, по сравнению с магнитными жесткими дисками, со временем начинают работать хуже, и потерянные данные на них очень сложно восстановить, по сравнению с жесткими дисками. Гибридные жесткие диски совмещают твердотельный накопитель и магнитный жесткий диск, увеличивая тем самым скорость и срок эксплуатации, и уменьшая цену, по сравнению с твердотельными накопителями.

Накопитель на жестких магнитных дисках

Магнитные носители

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

Перфокарта для ткацкого станка

Бумажные носители

Перфокарта и USB-флеш-накопитель

До появления магнитных и других носителей данные хранили на бумаге. Обычно в таком виде были записаны машинные команды, и их могли читать как люди, так и машины, например компьютеры или ткацкие станки. В основном для этих целей использовали перфокарты и перфоленты, где информация хранилась в виде чередующихся отверстий, и отсутствия отверстий. Перфоленту использовали, чтобы записывать текст на телеграфе и в типографии или редакции газет, а также в кассовых аппаратах. Постепенно с конца 50-x и до конца 80-х их заменили магнитные носители. Сейчас бумажные носители используют для подсчета голосов на выборах и для автоматической проверки контрольных работ, ответы к которым записываются на специальную карту, а потом читаются компьютером.

Литература

Автор статьи: Kateryna Yuri

Вы затрудняетесь в переводе единицы измерения с одного языка на другой? Коллеги готовы вам помочь. Опубликуйте вопрос в TCTerms и в течение нескольких минут вы получите ответ.

биты, байты, килобайты в компьютере

Так вот 1 символ двоичной системы (0 или 1) занимает в памяти компьютера 1 бит.

А 8 бит составляют 1 байт (легко запомнить, что байт больше, ведь в нем даже больше букв, чем в слове «бит»)

Итак, даже одна буква или цифра в компьютере будет занимать пространство в 1 байт на жестком диске (ведь для её кодировки нужно восемь нулей и единиц).

В этом легко убедиться, создайте в текстовом блокноте файл (не в Word, а именно в блокноте). Файл должен иметь расширение (то, что в названии после последней точки) .txt и может иметь любое название.

Если расширения файлов у вас не отображаются, то включите их.

1. Для этого зайдите в любую папке на компьютере.

2. Выберите в меню Сервис — Параметры папок.

3. Перейдите во вкладку Вид.

4. И уберите последнюю галочку напротив фразы «Скрывать расширения для зарегистрированных типов файлов».

Теперь все файлы будут показываться у вас с расширением. Не меняйте их, чтобы не потерять доступ к файлам. После упражнения можете вернуть галочку на место.

Итак, файл создан. Посмотрите сколько он «весит». Для этого нажмите на файл правой кнопкой мыши и выберете последний пункт «Свойства».

Его размер должен составлять 0 байт. Т.е. он пуст и ничего не весит.

Теперь откройте его и впишите любую цифру от 0 до 9. Сохраните файл и снова посмотрите в свойствах его вес. Теперь он должен весить 1 байт (8 бит). Это именно вес вписанной в него информации.

На диске файл будет занимать больше места, что связано с заполнением диска служебной информацией о расположении файла, его имени и т.д. Но конкретно наша цифра занимает всего 1 байт. Если мы впишем еще одну цифру, размер станет в 2 раза больше и т.д.

Теперь попробуем с буквами английского алфавита. Любая буква строчная или прописная тоже будет занимать 1 байт.

Русский же алфавит не умещается в кодировку в 256 символов, поэтому для него выделяется целых 2 байта другой кодировки 16-битной или 16-разрядной (из 16 единиц и нулей). Попробуйте русские буквы и убедитесь в этом.

Редактировать этот урок и/или добавить задание

Добавить свой урок и/или задание

Добавить интересную новость

Задачи к теме 3 «Единицы измерения информации: биты, байты, килобайты.»


Задачи к теме 3 «Единицы измерения информации: биты, байты, килобайты.»

Перед тем, как решать предложенные задачи, необходимо ознакомиться с теоретическим материалом темы 3 «Количество и единицы измерения информации». К условиям некоторых задач прилагаются решения.

Некоторые задачи предлагаются для самостоятельного решения (по образцу). Тексты этих задач включены в контрольный тест по теме.

Основные равенства, которые необходимо знать и помнить при решении задач на исчисление вероятности:

i=log2(1/P) 2i=N 2i=1/P N=1/P i=log2N

Решая эти вычислительные задачи, можно пользоваться стандартной программой «Калькулятор» (Пуск -> Программы -> Стандартные -> Калькулятор).

Задача 1. Сколько битов информации содержится в сообщении размером 8 байтов?
Решение: 1 байт равен 8 бит. 8×8=64 бита.
Ответ: в сообщении содержится 64 бита информации.
Задача 2. Сообщение, записанное буквами из 64-символьного алфавита, содержит 20 символов. Какой объём информации оно несёт?
Решение: мощность Nалфавита=64 символов; 2i=64; информационный вес одного символа алфавита iсимв.=log264=6 бит; число символов в сообщении nсообщ.×iсимв.=20×6 бит=120 бит.
Ответ: сообщение несёт 120 бит информации.
Задача 3. Сколько символов содержит сообщение, записанное с помощью 16-символьного алфавита, если его объём составил 1/16 часть мегабайта?
Решение: 1 Мб=1024 Кб. Значит, объём сообщения 1024/16=64 Кб. Информационный вес символа iсимв.=log216=4 бит. Объём сообщения в битах — 64×1024×8=524 288 бит. Количество символов в сообщении 524288/4=131 072
Ответ: в сообщении 131 072 символа.
Задача 4.Сколько байтов информации содержится в сообщении размером четверть мегабайта?
Решение: 1 Мб=1024 Кб, 1 Кб=1024 байта. 1024/4=256 Кб. 256 Кб/1024=262 144 байта.
Ответ: в 1/4 Мб содержится 262 144 байта.
Задача 5. Объём сообщения, содержащего 2048 символов, составил 1/512 часть мегабайта. Какова мощность алфавита, с помощью которого записано сообщение?
Решение: 1 Мб=1024 Кб, 1 Кб=1024 байта. 1024 Кб/512=2 Кб. 2 Кб×1024=2048 байт. Для кодирования сообщения размером 2048 символов понадобилось 2048 байт. Кодировка каждого символа однобайтная (восьмибитная). С помощью такой кодировки можно закодировать 256 символов.
Ответ: мощность Nалфавита равна 256 символам.
Задача 6. Текст занимает 1/4 килобайта памяти компьютера. Сколько символов содержит этот текст?
Решение: 1 Кб=1024 байта, 1024/4=256 символов.
Ответ: в этом тексте 256 символов.
Задача 7. Для хранения текста требуется 84000 бит. Сколько страниц займёт этот текст, если на странице размещается 30 строк по 70 символов в строке?
Решение: 1 байт=8 бит. 84000/8=10500 символов в тексте. На странице помещается 30×70=2100 символов. 10500/2100=5 страниц.
Ответ: текст займёт 5 страниц.
Задача 8. В корзине лежат шары. Все разного цвета. Сообщение о том, что достали синий шар, несёт 5 бит информации. Сколько всего шаров было в корзине?
Решение: Если все шары разного цвета, значит, ни один шар не совпадает по цвету с другими. Следовательно, шары можно доставать с равной долей вероятности. В этом случае применяется формула Хартли. iсиний=5 бит; 5=log232; 2i=N; 25=32.
Ответ: в корзине 32 шара.
Задача 9. Алфавит племени Мульти состоит из 8 букв. Какой объём информации несёт любая буква этого алфавита?
Решение: по формуле Хартли одна буква этого алфавита несёт объём информации, равный 2i=N; 2i=8; i=log28=3 бита.
Ответ: одна буква алфавита племени Мульти несёт объём информации, равный 3 бита.
Задача 10. В корзине лежат 16 шаров. Все шары разного цвета. Сколько информации несёт сообщение о том, что достали красный шар?
Решение: 2i=16; i=log216=4 бита
Ответ: сообщение несёт 4 бита информации.
Задача 11. У племени Мульти 32-символьный алфавит, племя Пульти пользуется 64-символьным алфавитом. Вожди племён обменялись письмами. Письмо племени Мульти содержало 80 символов, а письмо племени Пульти — 70 символов. Сравнить объём информации, содержащийся в письмах.
Решение: по формуле Хартли, iМульти=log232=5 бит, iПульти=log264=6 бит. Объём информации письма Мульти — 80×5=400 бит, письма Пульти 70×6=420 бит.
Ответ: объём информации в письме племени Пульти больше на 20 бит.
Задача 12 В корзине лежат шары (белые и чёрные). Среди них — 4 белых. Сообщение о том, что достали белый шар, несёт 3 бита информации. Сколько всего шаров было в корзине?
Дано: iбел=3 бита; kбел=4 шара; Nчёрных+белых=?
Решение: информация о том, что достали белый шар, «весит» iбел.=log21/Рбел.=3 бита. По формуле Хартли, вероятность — величина, обратная неопределённости. Поэтому 2iбел=1/Pбел=Nбел., т.е. 23=1/Рбел.=8, из чего следует, что вероятность достать белый шар Рбел.=1/23=1/8.
Вероятность достать белый шар равна отношению количества белых шаров kбел. к числу шаров в корзине N(чёрных + белых)бел=kбел/Nчёрн.+бел. Подставив уже известные значения, получим [1/8=4/Nч+б] = [4×8=1×Nч+б], откуда N=32.
Ответ: в корзине было 32 шара.

Задачи для самостоятельного решения по образцу задачи №12

Задача 23. В ящике лежат перчатки (белые и чёрные). Среди них – kчёрн.=2 пары чёрных. Сообщение о том, что из ящика достали одну пару чёрных перчаток, несёт iчёрн.=4 бита информации. Сколько всего было пар перчаток (чёрных и белых) в ящике?
Решение: 2i=4 бита, log216=4; вероятность достать пару чёрных перчаток равна Pчёрн.=1/16; из этого находим, что вероятность достать 1-у чёрную пару относится к 16-ти так же, как вероятность достать 2-е пары чёрных перчаток из их общего количества Nч+б: 1/16=kчёрн./Nч+б находим N=32.
Ответ: в ящике было 32 пары перчаток.

Задачи для самостоятельного решения по образцу задачи №23

Задача 31. В ящике лежат 8 чёрных шаров и 24 белых. Сколько информации несёт сообщение о том, что достали чёрный шар?
Дано: kчёрн=8; kбел=24. Найти iчёрн
Решение: общее число шаров в корзине Nб+ч=kбел+kчёрн=8+24=32 шара. Вероятность достать чёрный шар — это отношение числа чёрных шаров к общему числу шаров Pчёрн=kчёрн/Nч+б=8/32=1/4. Nчёрн=1/Pчёрн=1/1/4=4=2iчёрн.. По формуле Хартли получаем iчёрн=log24=2 бита.
Ответ: сообщение о том, что достали чёрный шар, несёт 2 бита информации.

Задачи для самостоятельного решения по образцу задачи №31

Задача 35. В мешке лежат 64 монеты. Сообщение о том, что достали золотую монету, несёт 4 бита информации. Сколько золотых монет было в мешке?
Дано: N=64; iзол=4. Найти: kзол.
Решение: сообщение о том, что достали золотую монету, несёт 4 бита информации, следовательно: 24=1/Рзол.Отсюда можно найти вероятность вытаскивания золотой монеты: Pзол=1/16. Если Pзол=k/N, следовательно, kзол=N×Pзол=64/16=4 золотые монеты.
Ответ: в мешке 4 золотые монеты.

Задачи для самостоятельного решения по образцу задачи №35

Задача 39. На остановке останавливаются автобусы с разными номерами. Сообщение о том, что к остановке подошёл автобус маршрута №1, несёт 4 бита информации. Вероятность появления на остановке автобуса маршрута №2 Р№2 в два раза меньше, чем вероятность появления автобуса маршрута №1 Р№1. Сколько бит информации несёт сообщение о появлении автобуса маршрута №2 на остановке?
Дано: i№1=4 бита; Р№2№1/2.
Решение:
1/Р№1=2i
1/P№1=24
1/P№1=16
1/Р№2=(1/Р№1)/2
Р№2=1/16×2
Р№2=1/32
1/Р№2=32
2i=32
i=log232
i=5
Ответ: сообщение о появлении на остановке автобуса маршрута № 2 несёт 5 бит информации.

Задача для самостоятельного решения по образцу задачи №39

Задача 40
На остановке останавливаются автобусы с разными номерами. Сообщение о том, что к остановке подошёл автобус маршрута № 1, несёт 4 бита информации. Вероятность появления на остановке автобуса маршрута №2 в два раза больше, чем вероятность появления автобуса маршрута №1. Сколько бит информации несёт сообщение о появлении автобуса маршрута №2 на остановке?

Задача 41. Известно, что в ящике лежит 64 шара. Из них чёрных 16, белых 16, жёлтых 2, красных 4. Какое количество информации несут сообщение о том, что из ящика случайным образом достали чёрный шар, белый шар, жёлтый шар, красный шар?
Решение:
kч+kб+kж+kк+kостаток=N; Pч+Pб+Pж+Pк+Pостатка=1; 16+16+2+4+х=64
Вычислим вероятности для шаров того или иного цвета: 2i=1/P i=log2(1/P)
Pчёрного=16/64=1/4=0,25 iчёрный=log2(1/(1/4))= log24=2 бита
Pбелого=16/64=1/4=0,25 iбелый=log2(1/(1/4))= log24=2 бита
Pжёлтого=2/64=1/32=0,03125 iжёлтый=log2(1/(1/32))= log232=5 битов
Pкрасного=4/64=1/16=0,0625 iкрасный=log2(1/(1/16))= log216=4 бита
Pостатка=26/64=13/32=0,40625 iостатка=log2(1/(13/32))=log22,(461538)≈1,299560282 бит

Перевод в Web-формат © Σταυρος Τεκτονος

Всегда ли байт 8 бит?

Да, в современных вычислениях байт всегда равен 8 битам.

В книге используются слова, а не байты

В книге явно упоминается слово и размер слова, а о байтах нет ни слова (ха-ха). Посмотрите на фразу .., которая представлена ​​в ОЗУ 32 последовательными 16-битными словами. . Полный размер выражается в (16-битных) словах, а не в байтах.

Следовательно, 8K означает 8 киловордов. Формально 8 килобайт будет записано как 8 килобайт, если это обозначение вообще используется в этой книге.

Слова очень важны, когда речь идет об архитектуре процессора. Слова в языках программирования обычно составляют 2 байта (или 16 бит), но в архитектуре процессора они также могут быть 8 или 32 битами, и они относятся к естественному размеру блоков данных, с которыми работает процессор, поэтому имеет смысл, что в книге используются слова, а не байты, поскольку текст кажется очень ориентированным на оборудование.

Чтобы увидеть, как связаны байты и слова, прочтите этот ответ.

Различные размеры байтов

Википедия описывает, как байт изначально (1960-е годы) был основан на размере информации, которую он должен был хранить, поэтому 6-битный байт можно было использовать для (английских) символов, а байты других размеров использовались бы для разных числовых форматов.Он начался с 6-битных английских символов, вырос до 7-ми битов для поддержки ASCII, и в конечном итоге популярность 8-битной IBM System / 360 привела к глобальному признанию 8-битных байтов.

Байт — это программная единица, представляющая объем данных, в то время как слово больше связано с архитектурой процессора / памяти и представляет рабочие единицы (регистры) в процессоре и адресуемые единицы в памяти.
Однако в настоящее время байт всегда считается 8-битным, а количество слов кратно этому.По-прежнему существуют процессоры с другим размером слова, но это процессоры специального назначения. Нормальное оборудование, от ПК до телефонов и игровых консолей, соответствует стандарту.

Преобразование

байтов в биты Преобразование

байтов в биты

Преобразование байтов в биты . Введите значение байтов для преобразования в биты.

Сколько бит в байте

В байте 8 бит. 1 байт = 8 бит .

байта

Байт — это основная единица передачи и хранения цифровой информации, широко используемая в информационных технологиях, цифровых технологиях и других связанных областях.Это одна из самых маленьких единиц памяти в компьютерных технологиях, а также одна из самых основных единиц измерения данных в программировании. Самые ранние компьютеры были сделаны с процессором, поддерживающим 1-байтовые команды, потому что в 1-м байте вы можете отправить 256 команд. 1 байт состоит из 8 битов, которые образуют единое целое при хранении, обработке или передаче цифровой информации.

Байт - это единица данных
Символ единицы байта - B (верхний регистр)
1 байт = 8 бит
 

Биты

Бит (b) — это единица измерения, используемая в двоичной системе для хранения или передачи данных, таких как скорость интернет-соединения или шкала качества аудио- или видеозаписи.Бит обычно представлен 0 или 1. 8 бит составляют 1 байт. Бит также может быть представлен другими значениями, такими как да / нет, истина / ложь, плюс / минус и т. Д. Бит — это одна из основных единиц, используемых в компьютерных технологиях, информационных технологиях, цифровой связи, а также для хранения, обработки и передачи различных типов данных.

Бит - основная единица данных
Бит имеет всего два значения: 0 или 1
Символ единицы бит - b (нижний регистр)
 

Таблица преобразования байтов в биты

байтов (B) Биты (b)
1 байт 8 бит
2 байта 16 бит
3 байта 24 бита
4 байта 32 бита
5 байтов 40 бит
6 байтов 48 бит
7 байтов 56 бит
8 байтов 64 бит
9 байтов 72 бит
10 байтов 80 бит
11 байтов 88 бит
12 байтов 96 бит
13 байтов 104 бит
14 байтов 112 бит
15 байтов 120 бит
16 байтов 128 бит
17 байтов 136 бит
18 байтов 144 бит
19 байт 152 бит
20 байт 160 бит
21 байт 168 бит
22 байта 176 бит
23 байта 184 бита
24 байта 192 бита
25 байт 200 бит
26 байт 208 бит
27 байт 216 бит
28 байт 224 бит
29 байтов 232 бит
30 байтов 240 бит
31 байта 248 бит
32 байта 256 бит
33 байта 264 бит
34 байта 272 бит
35 байтов 280 бит
36 байтов 288 бит
37 байтов 296 бит
38 байтов 304 бит
39 байтов 312 бит
40 байтов 320 бит
41 байт 328 бит
42 байта 336 бит
43 байта 344 бит
44 байта 352 бит
45 байтов 360 бит
46 байтов 368 бит
47 байтов 376 бит
48 байтов 384 бит
49 байтов 392 бит
50 байтов 400 бит
51 байт 408 бит
52 байта 416 бит
53 байта 424 бит
54 байта 432 бит
55 байтов 440 бит
56 байтов 448 бит
57 байтов 456 бит
58 байтов 464 бит
59 байтов 472 бит
60 байтов 480 бит
61 байтов 488 бит
62 байта 496 бит
63 байта 504 бит
64 байта 512 бит
байтов (B) Биты (b)
64 байта 512 бит
65 байтов 520 бит
66 байтов 528 бит
67 байтов 536 бит
68 байтов 544 бит
69 байтов 552 бит
70 байтов 560 бит
71 байт 568 бит
72 байта 576 бит
73 байта 584 бит
74 байта 592 бит
75 байтов 600 бит
76 байтов 608 бит
77 байтов 616 бит
78 байтов 624 бит
79 байтов 632 бит
80 байтов 640 бит
81 байт 648 бит
82 байта 656 бит
83 байта 664 бит
84 байта 672 бит
85 байтов 680 бит
86 байтов 688 бит
87 байтов 696 бит
88 байтов 704 бит
89 байтов 712 бит
90 байтов 720 бит
91 байт 728 бит
92 байта 736 бит
93 байта 744 бит
94 байта 752 бит
95 байтов 760 бит
96 байт 768 бит
97 байт 776 бит
98 байт 784 бит
99 байтов 792 бит
100 байтов 800 бит
101 байт 808 бит
102 байта 816 бит
103 байта 824 бита
104 байта 832 бита
105 байт 840 бит
106 байт 848 бит
107 байт 856 бит
108 байт 864 бит
109 байтов 872 бит
110 байтов 880 бит
111 байтов 888 бит
112 байтов 896 бит
113 байтов 904 бит
114 байтов 912 бит
115 байтов es 920 бит
116 байт 928 бит
117 байт 936 бит
118 байт 944 бит
119 байт 952 бит
120 Байт 960 бит
121 байт 968 бит
122 байта 976 бит
123 байта 984 бит
124 байта 992 бит
125 Байт 1000 бит
126 байтов 1008 бит
127 байтов 1016 бит
128 байтов 1024 бит

© 2014-2021 www.GbMb.org

Архитектура компьютера

— содержит ли байт 8 бит или 9?

Во-первых, учебник, на который вы ссылаетесь, кажется довольно устаревшим и, похоже, направлен на устаревшие версии процессоров x86, без указания этого, поэтому многие вещи, которые вы там читаете, не будут поняты другими (например, если вы утверждать, что СЛОВО состоит из 2 байтов, люди либо не будут знать, о чем вы говорите, либо они будут знать, что вас учили на очень устаревших процессорах x86, и они будут знать, чего ожидать).

Байт — это любое количество битов, которое кто-то сочтет нужным. Это может быть 8 или 9 бит или 16 бит, что угодно. В 2016 году в большинстве случаев байт будет восьмибитным. На всякий случай можно использовать термин октет — октет всегда, всегда восьмибитный.

Настоящая путаница заключается в том, что сбивают с толку два вопроса: 1. Какое количество битов в байте? 2. Если бы я хотел передать один байт из одного места в другое или если бы я хотел сохранить байт, используя практические физические средства, как бы я это сделал? Второй вопрос обычно вас мало интересует, если только вы не работаете в компании, производящей модемы, жесткие диски или SSD-накопители.На практике вас интересует первый вопрос, а на второй вы просто говорите «ну, кто-то за этим позаботится».

Упомянутый бит четности является примитивным механизмом, который помогает обнаружить, что когда байт сохраняется в памяти, а затем байт читается, память изменилась случайно. Это не очень хорошо, потому что он не обнаружит, что два бита были изменены, поэтому изменение, скорее всего, останется незамеченным, и он не может исправить проблему, потому что нет способа узнать, какие из 8 бит были изменены. , или даже если бит четности изменился.

Биты четности в этой примитивной форме практически не используются. Данные, которые хранятся постоянно, обычно защищаются более сложными способами, например, путем добавления 32-битной или более длинной контрольной суммы к блоку из 1024 байтов, что занимает гораздо меньше дополнительного места (0,4% в этом примере вместо 12,5%) и намного реже не узнает, когда что-то не так.

Астрофотография: биты, байты и динамический диапазон — небо и телескоп

Более широкий лучше подходит для астрофотографии — изучите основы битовой глубины и динамического диапазона для получения лучших астрофотографий.

Изображения — это просто большая череда включений и выключений. Ричард С. Райт, младший

Прежде чем вы сможете правильно понять, что значит растягивать ваше изображение, вам необходимо убедиться, что вы понимаете, из чего состоит ваше изображение: чисел. Это оно . . . много-много чисел. У каждого пикселя есть номер, который соответствует тому, насколько ярким должен быть пиксель. Маленькие числа темные, а большие — яркие. Монохромные (черно-белые) изображения имеют только одно число на пиксель; Цветные изображения имеют три числа, по одному для красного, зеленого и синего цветов.Все просто, правда?

бит данных

Следующее, что нужно рассмотреть, это то, как эти числа представляются компьютером. Ответ на этот вопрос — биты. Чем больше битов, тем большее число вы можете представить. Один бит может быть 0 или 1. Черный или белый. Здесь не так много изменений. Мы бы могли назвать это чрезвычайно низким динамическим диапазоном.

Компьютер представляет число как целую строку битов, например:

00101010

На самом деле это число 42.Чем больше у вас битов или разрядов, тем больше возможных уникальных комбинаций единиц и нулей и, следовательно, тем больше чисел может быть представлено. По сути, каждая перестановка единиц и нулей представляет собой уникальное числовое значение. Удивительно, как это работает, но это выходит за рамки блога астрофотографии. Обратите внимание: здесь я не буду учитывать отрицательные числа, а также то, что называется «порядком следования байтов». . . Я не садист. Этот блог не для людей, которые уже являются инженерами!

Два бита могут хранить числа от 0 до 3, три бита могут хранить числа от 0 до 7 и так далее, с дополнительными битами, поддерживающими экспоненциально большие числа.Не так уж важно, чтобы вы это понимали; просто помните, чем больше битов, тем больше числа. . . и намного больше вариантов значений тона, которые могут быть записаны или сохранены.

Небольшой диапазон чисел ограничивает тональный диапазон изображения. Это изображение имеет низкий динамический диапазон, потому что полный диапазон яркости очень мал до растяжения.
Ричард С. Райт, младший

Наименьшая ячейка памяти на компьютере — это 8 бит в строке, называемых байтом, который представляет собой число от 0 до 255.Для числа 5 может потребоваться только три бита, но оно должно находиться в ячейке памяти шириной не менее 8 бит. Все начальные биты просто нулевые.

00000101 (5 в двоичном формате)

Некоторые важные числа, которые возникают, когда речь идет об изображениях и камерах:
8 бит могут содержать число от 0 до 255.
12 бит: от 0 до 4095
14 бит: от 0 до 16 383
16 бит: от 0 до 65 535

Чем больше у вас битов, тем более тонкие вариации в тональных значениях и интенсивности вы можете иметь, и тем большие значения вы можете сохранить.Мы называем большой диапазон значений изображения его динамическим диапазоном . Когда приходит время приступить к обработке изображений, лучше всегда иметь больший динамический диапазон.

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

Байт данных

Компьютеры работают с байтами, кратными 8 битам, поэтому, если вы не можете поместить число в 8-битную ячейку памяти, вам придется использовать две 8-битные ячейки памяти рядом друг с другом (или больше, если числа становятся даже больше!).Например, число 256 фактически потребляет минимум 2 байта памяти, например:

00000001 00000000

Здесь есть важная идея: для числа, которое требует 9 бит, на самом деле потребуется 16 бит памяти.

Большинство обычных изображений на вашем компьютере — это 8-битные изображения, содержащие значения интенсивности от 0 до 255 для каждого цветового канала. (Обычно они называются 24-битными изображениями, но на самом деле каждый канал имеет только 8 бит). Это ограничение возникает из-за того, что большинство компьютерных дисплеев также поддерживают только 8 бит на канал, и таким образом изображение отображается прямо на ваш экран.Монохромные изображения имеют одинаковое значение в каждом цветовом канале … так что на самом деле они представляют собой ТОЛЬКО 8-битные изображения на вашем экране. Большинство необработанных изображений с DSLR или астрофотографической камеры содержат 16-битные пиксели, содержащие значения, которые технически могут находиться в диапазоне от 0 до 65 535, но их необходимо уменьшить до диапазона от 0 до 255, прежде чем они могут быть отображены.

Пока все хорошо?

Битовая глубина декодирования

В прошлом месяце мы говорили о том, как датчики камеры считают фотоны. Каждый пиксель в детекторе камеры может удерживать определенное количество электронов, прежде чем он переполнится или достигнет максимума.Независимо от того, сколько фотонов может удерживать пиксель, они считаются с использованием 12, 14 или 16 бит при считывании с чипа. Чем больше бит на пиксель, тем дороже будет изготовить чип. Это важный фактор при попытке снизить затраты, а также важный фактор в динамическом диапазоне тональности, который может захватывать камера.

Для видеоприложений 8-битные данные обеспечивают лучшую пропускную способность или более высокую частоту кадров. Ричард С. Райт, младший

Когда эти данные считываются с большинства камер, числа попадают либо в однобайтовые контейнеры (от 0 до 255, помните), либо в двухбайтовые контейнеры (16 бит, или от 0 до 65 535). ).Камера, считывающая 8-битные значения изображения, вполне может иметь 12-битный или более датчик, но она должна масштабировать это число вниз, чтобы поместиться в 8-битную ячейку памяти на компьютере. В 16-битном изображении каждое значение пикселя делится на 256! Многие планетарные камеры возвращают 8-битные данные изображения, чтобы ускорить процесс (с половиной битов нужно переместить половину данных), в то время как создатели изображений глубокого космоса всегда предпочитают 16-битные данные со своей камеры.

Вот важный вывод: датчики камеры могут поддерживать практически любую битовую глубину, но данные камеры на вашем компьютере почти всегда 8 или 16 бит.Даже если камера выдает 14-битные данные (например, большинство DSLR), данные будут сохранены в файле как 16-битные пиксели.

В необработанном файле DSLR с 14-битными данными два первых бита равны нулю; следующие 14 битов, которые представляют значение пикселя. Если бы пиксель был полностью насыщен (со значением 16 383), он был бы представлен так:

0011111111111111

Да, на этом изображении всего 256 различных оттенков серого! Ричард С. Райт-младший.

А теперь самое интересное: чтобы отобразить это изображение на компьютере, мы должны уменьшить это гигантское число до 8 бит, а чтобы сделать это правильно, нам нужно знать фактическую битовую глубину данных. Для 14-битной камеры мы бы разделили значения пикселей на 64. Если бы мы не знали, что данные хранятся в 14-битных пикселях, мы могли бы попытаться масштабировать весь диапазон от 65 525 до 255, и мы разделил бы число на 256! Это сжимает и затемняет наше изображение, поскольку значения пикселей будут находиться в диапазоне от 0 до 64 вместо полного диапазона от 0 до 255.В результате получится очень темное изображение (при условии, что оно изначально было хорошо экспонировано).

Для еще большего удовольствия многие камеры будут считывать, скажем, 12- или 14-битные значения с датчика, но затем масштабировать их, чтобы они находились в диапазоне от 0 до 65 535. На некоторых камерах CCD усиление камеры может служить этой дополнительной цели.

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

двоичный — learn.sparkfun.com

Добавлено в избранное

Любимый

45

Биты, полубайты и байты

Обсуждая создание двоичного числа, мы кратко рассмотрели его длину. Длина двоичного числа равна 1 и 0 , которые оно имеет.

Длина общего двоичного числа

Двоичные значения часто сгруппированы по общей длине 1 и 0 , это количество цифр называется длиной числа. Общие битовые длины двоичных чисел включают биты, полубайты и байты (еще не голодны?). Каждые 1 или 0 в двоичном числе называются бит . Отсюда группа из 4 битов называется полубайтом , а 8-битные составляют байт .

байта — довольно распространенное модное слово при работе в двоичном формате. Все процессоры созданы для работы с заданной длиной бит, которая обычно кратна байту: 8, 16, 32, 64 и т. Д.

Подводя итог:

101

Длина Имя Пример
1 Бит 0
4 Nibble 1011
te

Слово — еще одно длинное модное слово, которое время от времени выкидывают.Слово звучит гораздо менее аппетитно и гораздо более неоднозначно. Длина слова обычно зависит от архитектуры процессора. Это может быть 16 бит, 32, 64 или даже больше.

Заполнение ведущими нулями

Вы можете увидеть двоичные значения, представленные в байтах (или более), даже если для создания числа длиной 8 бит необходимо добавить ведущих нулей . Ведущие нули — это один или несколько 0 , добавленных слева от самого старшего разряда 1 в числе. Обычно вы не видите ведущих нулей в десятичном числе: 007 больше не говорит вам о значении числа 7 (он может сказать что-то еще).

Начальные нули не требуются для двоичных значений, но они помогают представить информацию о битовой длине числа. Например, вы можете увидеть число 1, напечатанное как 00000001, просто чтобы сообщить вам, что мы работаем в области байта. Оба числа представляют одно и то же значение, однако число с семью 0 впереди добавляет информацию о разрядности значения.


← Предыдущая страница
Счет и преобразование

Память MAYHEM! Память, порядок байтов и выравнивание

Цель этого документа — предоставить студентам, изучающим CMSC411 (компьютерную архитектуру), краткое, но исчерпывающее введение в «простую» модель компьютерной памяти, представленную в главе 1 «КОМПЬЮТЕРНАЯ АРХИТЕКТУРА: КОЛИЧЕСТВЕННЫЙ ПОДХОД» Хеннесси и Паттерсона. необходимо для последующих частей курса (кеширование и т. д.)

Этот документ оформлен в виде краткого гипертекстового списка часто задаваемых вопросов. FAQ — это аббревиатура от слов «Часто задаваемые вопросы». Часто задаваемые вопросы широко используются в сетевых дискуссионных группах (группы новостей, обсуждения в Интернете и т. Д.), В качестве документов технической поддержки («общие вопросы») и т. Д. Большой объем информации доступен в Интернете в форме часто задаваемых вопросов, особенно по компьютерным темам. Многие разделы часто задаваемых вопросов сопровождаются упражнениями, поясняющими суть дела. Студенты, изучающие информатику, должны быть знакомы с часто задаваемыми вопросами как с источниками онлайн-информации.

Ответы на конкретные вопросы можно получить, просто перейдя непосредственно к желаемому вопросу, но список упорядочен по темам, и вопросы можно читать последовательно в качестве краткого руководства. Этот документ не заменяет материал учебника.

1. Что такое «простая» модель компьютерной памяти? Как визуализировать память компьютера?

Для целей этого документа память компьютера будет рассматриваться с помощью того, что мы будем называть «простой» моделью.Важно понимать, что это идеализированная модель, которая существенно менее многослойна, чем модель, представленная ближе к концу курса (кеши, виртуальная память и т. Д.). Хотя уровни сложности будут изменяться, и к этой модели будут добавлены детали, обычно программисты сталкиваются с «простой» моделью, с которой придется иметь дело напрямую. Очень важно помнить, что все эти модели являются абстракцией от физической реальности компьютерной памяти, и это хорошо.Это абстракция, которая позволяет компьютерам выполнять полезную работу.

В «простой» модели компьютерная память представляет собой одномерную упорядоченную длину битов. Это можно представить в виде серии битов, один за другим тянущихся в бесконечность линии. Биты не могут менять свое положение в строке. Они нумеруются последовательно, начиная с нуля.

Эта бесконечная длина упорядоченных битов называется памятью Тьюринга. Его размер, длина строки битов, бесконечен.В двоичной машине каждый бит может быть установлен либо в единицу, либо в ноль.

Здесь мы сталкиваемся с другой абстракцией. Обратите внимание, что это соглашение само по себе является просто удобной абстракцией, оно является чисто произвольным и используется по соглашению по историческим причинам. Было бы так же справедливо назвать состояния «включено» и «выключено», «вверх» и «вниз», или «a» и «b», или «пустой» и «полный», или даже «Zira» и «Корнелиус».

Фактическое представление битов в современных компьютерах включает электрические уровни, но если бы все пошло по-другому, у нас могли бы быть механические компьютеры, основанные на спицах и трещотках, если бы машина Бэббиджа была закончена, или биты, хранящиеся в виде контейнеров с жидкостью, если бы компьютеры развились из водяных часов вместо электрические контакты на считывателе перфокарт.Этот считыватель произошел от автоматизированного ткацкого станка — «льняной» и «шелковый», кто-нибудь?

Конечно, у нас не может быть бесконечной памяти ни в одном реальном компьютере, независимо от того, используем ли мы электрические токи или подпружиненные циферблаты, поэтому теперь представьте, что линия имеет определенную длину, но все остальные свойства — длину из N упорядоченных битов, начиная с 0 и заканчивая номером бита (N — 1). Что мы можем сделать с такой памятью?

Ответ — «ничего», потому что мы не определили способ доступа к какому-либо элементу в памяти.


2. Как осуществляется доступ к памяти? Почему мы разбиваем память на такие элементы, как «байты» и «слова»?

В компьютерах место в памяти элемента называется адресом элемента. Адресация на самом деле довольно сложна в реальном мире, потому что адрес может отображаться из идеализированного или виртуального адреса в один или несколько уровней физических адресов, по одному для каждого уровня в системе памяти компьютера. Но в нашей идеализированной модели мы будем рассматривать все адреса как абсолютные и уникальные.Что касается нашей памяти, никакие два элемента не будут иметь один и тот же адрес. Адреса следует рассматривать как физическое местоположение на «бесконечной линии» или «сегменте линии», которые мы используем для представления памяти, поэтому должно быть очевидно, что никакие два элемента (биты, указанные выше) не могут использовать один и тот же адрес, и нет адрес может быть «пустым».

Самый простой подход к доступу к памяти — доступ к каждому биту по его положению. Затем мы могли бы получить доступ к первому биту, перейдя по адресу 0, второму по адресу 1, третьему по адресу 2, четвертому по адресу 3 и так далее.

Поскольку мы используем цифровые компьютеры, все числа, с которыми мы работаем, в конечном итоге будут храниться в двоичном формате. В двоичном формате мы можем представить от 0 до 3 всего двумя битами:

00 0
01 1
10 2
11 3

Итак, нам нужно 2 бита для адресации 4 ячеек памяти. Расширяя это, мы можем адресовать 128 ячеек с помощью 7 бит и 1024 ячеек с помощью всего 10 бит. Это кажется относительно эффективным. На практике мы не хотим хранить 128 или 1024 бит.3 бита на байт, но получается всего 67 бит, всего на 3 бита больше.

Однако компьютерная память не обращается на битовом уровне. Одна легкая для понимания причина этого заключается в том, что бит — это не очень значимая единица для работы — выполнять любые математические вычисления, используя только биты, было бы довольно сложно. Чтобы сложить два числа, вам нужно будет последовательно складывать каждый бит, как если бы вы создавали эквивалент сумматора пульсаций (CMSC311) из программного обеспечения. А как бы вы выполняли умножение или сравнение чисел? На практике такая машина была бы бесполезной.

Нам нужны полезные компьютеры, поэтому нам нужно разделить память на полезные единицы. Фактически, эти устройства будут определять возможности компьютеров, которые мы создаем. Если мы разбиваем память, скажем, на 4-битные группы битов («полубайты»), мы можем сохранить любое значение от 0 до 15 (подумайте о преобразовании двоичного кода в шестнадцатеричный!) В одном полубайте. Это означает, что сумматоры и другие схемы в нашем процессоре также должны иметь возможность работать с 4-битными группами, поэтому теперь мы можем складывать 15 и 15 за одну операцию, а не по битам за раз.

Ой. Но если мы сложим 15 и 15, мы получим ответ, равный единице. Почему? Поскольку наша единица хранения f может хранить только от 0 до 15. Когда мы складываем 15 и 15 вместе, мы переполняем сумматор, и результат обрезается. Очевидно, мы можем справиться с этим, добавляя большие числа по кусочку за раз, так же, как мы могли бы обрабатывать вручную понемногу. Но кусочек не кажется полезным размером. Вы даже не можете использовать кусочек для хранения латинского алфавита.

Байт, вероятно, является первым действительно полезным размером «сгустка».С помощью байта мы можем адресовать весь алфавит и все знаки препинания и символы, которые мы хотим использовать в документах. От 0 до 255 также довольно полезный диапазон для чисел в мелком масштабе. Даже если мы думаем о более развлекательном использовании компьютеров (например, видеоигры), человеческий глаз может видеть только около 256 уровней серого (оттенки серого — от черного до белого), поэтому мы уже можем использовать байты для очень высоких качественные изображения. Если нам нужен цвет, мы можем использовать 3 байта вместе, как красный, зеленый и синий, и представлять почти все цвета, которые может видеть глаз (фактически, с 3 байтами или двадцатью четырьмя битами цвета технология отображения является ограничивающей. фактор).Байты очень полезны.

Но они по-прежнему бесполезны для реальных целочисленных вычислений, когда мы хотим иметь дело со значениями с гораздо более широкими диапазонами. И есть еще одно ограничение: если наша самая большая единица — байт, то наибольший адрес, к которому мы можем получить доступ, — это тот, который может представлять байт. Предположим, у нас есть память, адресуемая на байтовом уровне. С помощью одного байта мы можем представить 256 ячеек, что дает нам общий размер памяти всего 256 байтов.

Размер следующего логического кластера вдвое превышает размер байтов, или 16 бит.Имея 16-битные адреса и 16-битные элементы, которые в дальнейшем будут называться «словами», мы можем начать адресацию полезного объема памяти. В частности, 16 бит дает нам 65536 уникальных адресов, каждый из которых может хранить 16 бит. Это дает нам 131072 байта общей адресуемой памяти или 128 килобайт. Сейчас мы действительно говорим, говорим о 1968 году или около того.

Перейдем к современным машинам. 24 байта, но он по-прежнему считается 32-битным процессором.Однако адресное пространство всегда ограничено целочисленным размером, поскольку оно используется для хранения слагаемых, и размер элемента не может быть больше этого размера (иначе как бы вы поступили с тем, что находится по адресу?). Таким образом, у вас может быть машина с 64-битными адресами, которая работает с полубайтами или байтами, или с 16-битными словами и так далее, но тогда вам придется читать несколько элементов, прежде чем вы сможете что-либо с ними делать.

Во-вторых, очень удобно иметь большое адресное пространство для других вещей, помимо памяти, таких как «файлы с отображением памяти», когда файлы на диске отображаются для ЦП и программ в виде массивов в памяти или в качестве пространства для выделения аппаратным устройствам. так что взаимодействие с устройством аналогично хранению и чтению значений или таких вещей, как ПЗУ компьютера.

Или просто для роста, что очень и очень важно. В оригинальной конструкции IBM PC использовался Intel 8088, который был 16-битным процессором, который мог адресовать только 1 мегабайт памяти. Инженеры, разрабатывающие ПК, поместили видеодисплей (MDA, адаптер монохромного дисплея), ПЗУ и другие устройства в адресное пространство от 640 КБ до 1 МБ, что означает, что программы видели линейную длину памяти от первого 16-битного слова в памяти до последнего. на пороге 640к, а потом все остальное использовалось для устройств и ПЗУ и так далее.Все программы были написаны с расчетом на непрерывную память, и в результате программы реального режима (включая MSDOS и все программы, которые работают в нем, кроме тех, которые используют «расширители» [включая EMS, XMS и т. Д.]) Ограничены размером 640 КБ. Другие машины на базе 8088 (Dec Rainbow, Zenith Z-100 и т. Д.) Также работали с версиями MS-DOS (до 1983 года существовало несколько систем с MS-DOS и CP / M, которые не были «клонами ПК»). ), но поскольку их разработчики сделали другой выбор, они могли адресовать больше памяти (960 КБ, 768 КБ).Любой, кто регулярно использует ПК, может подтвердить, что недостаток «пространства для роста», обусловленный этим дизайном, по-прежнему присутствует с нами в виде бесчисленных обходных путей и расширений.

В любом случае память разбита на эти более крупные единицы (слова), и поскольку большинство компьютеров имеют общих философских предков, эти слова, в свою очередь, разбиваются на байты. Некоторые машины могут напрямую работать с байтами в слове (Intel, PowerPC и т. Д.), А другим нужно получать байты в своих словах с помощью сдвига (Dec Alpha до AXP 21164a могли обращаться только к своим 64-битным словам как таковым).

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


3. Все ли слова одинаковы? (Несколько слов о словах.)

Нет, и добро пожаловать в лилипут.

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

Словарь, связанный с вычислениями, ничем не уместен, как и такие слова, как «эталонный тест». Теперь мы собираемся ввести новое слово и понятие: порядок байтов.

Сатирически высмеивая политический раскол между протестантизмом и католицизмом, «Путешествие Гулливера» Свифта знакомит с гражданами Блефуску и Лилипутии, двух островов, охваченных гражданской войной из-за важного философского различия.Проблема? При раскалывании яйца следует сначала разбить какую сторону (маленький заостренный конец или широкий широкий «нижний» конец).

Слово «endian» пришло из «Путешествий Гулливера», и проблема очень похожа. Вместо решения вопроса о том, какой конец яйца разбить, порядок байтов в компьютерах вращается вокруг вопроса о том, в каком порядке «фрагменты» должны появляться в памяти.

Это не спор о том, где должны быть размещены адресные элементы (слова), поскольку все элементы находятся на равных основаниях.Скорее, это касается порядка данных в этих словах или, более конкретно, порядка и важности байтов в словах.

Давайте поговорим о важности и используем числа в качестве примера. Возьмите число «123456». Мы группируем цифры в этом номере в наборы по три, или «123 456». Какая из этих цифр самая важная?

Ответ — «1».

Если вы думаете: «Как любой из них может быть важнее?» думайте об этом так. Предположим, что в припадке глупости вы сделали серию неудачных ставок на трассе и в итоге получили 123 456 долларов.Теперь идет местная коленная чашечка, чтобы забрать виг. Итак, если ваша местная преступная семья не очень разбиралась в выборе бухгалтеров, и если они ошиблись с ластиком и «забыли» любую из этих цифр, преобразовав ее в ноль, какая из них сделает вас более счастливыми? Очевидно, что 1 в начале имеет наибольший «вес».

Мы называем эту цифру «наиболее значащей цифрой». Когда мы имеем дело с компьютерами, у нас есть только биты, поэтому эта цифра является «старшим битом» или «MSB».«И наоборот, если бухгалтеры обнулили 6 в конце, они сэкономят вам всего 6 долларов, что на самом деле незначительная сумма по сравнению с другими 123 450 долларов. Мы называем эту цифру« наименее значимой цифрой », а в компьютерах -« наименее значимым битом ». «или» LSB «.

Теперь мы также можем расширить это на наш выбранный «кусок». В нашей собственной системе с основанием 10 мы используем блоки из трех цифр. В компьютерах мы обычно используем байты. Самый значимый «байт» — это тот, который представляет большую часть значения в слове, содержащем байт.По соглашению мы пишем числа (с основанием 10, двоичные и другие) слева направо, начиная со старшей цифры слева.

Возьмем это 16-битное слово, разбитое на два составляющих байта:

Обратите внимание, что даже несмотря на то, что в первом байте почти все нули, единственный в младшем бите этого байта по-прежнему является битом с наибольшим весом в слове. Несмотря на то, что все другие биты в слове включены, их общее значение по-прежнему на 1 меньше, чем значение слова выше.

Вот так мы пишем число на бумаге. Этот порядок слева направо с уникальными цифрами в определенных позициях внутри числа пришел к нам из арабского языка. Исторически существовали и другие системы, но почти все в мире пишут числа слева направо (китайский предлагает вертикальное, но похоже на то, что на первом месте стоит самая значащая цифра и т. Д.).

Для компьютеров такого консенсуса не существует. Хуже того, нет способа узнать, если все, что у вас есть, — это какие-то двоичные данные, как были упорядочены байты в слове.Давайте еще раз посмотрим на это слово, поскольку оно может быть представлено в памяти двух разных компьютеров (мы будем считать, что самый низкий адрес находится слева):

Всего два. Имея в слове более двух байтов, мы могли бы получить действительно интересные порядки. Мы могли бы разместить два средних байта снаружи или в другом порядке. К счастью, вы не найдете компьютеров, которые так много делают, хотя вы не должны удивляться, обнаружив, что такие типы машин существовали в тот или иной момент.

Теперь, с нашей точки зрения, сформированной нашей системой счисления, производной от арабского языка, первая кажется совершенно логичной, так почему же должны быть какие-либо разногласия? Что ж, давайте визуализируем, как эти два приказа выглядят в памяти.

Прежде всего, значение битов в байтах достаточно стандартизировано. Бит «0» — это бит «младшего разряда» или «младший значащий бит». Если представить себе память как массив, простирающийся вправо, например:

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

Помните, что все слова в памяти — это просто местоположения, одно за другим в линейном массиве адресов, поэтому под «первым» мы подразумеваем первый байт, с которым вы сталкиваетесь в словах, когда вы переходите от «нулевого» конца этой памяти к другой конец. Это помогает визуализировать себя движущимся по этой линии, как если бы это была своего рода линейная диаграмма (например, те, которые используются для отображения фондового рынка), причем высота бита является его значением для слова в целом).

Давайте вернемся к нашему примеру, приведенному выше, сначала со старшим байтом.

Теперь, если бы мы записали биты памяти, содержащие это слово, начиная слева с первого бита, мы бы написали:

Другими словами, младший бит в байте стоит перед самым старшим битом. Это сбивает с толку, потому что в нашей обычной системе письма бесконечное пространство простирается ВЛЕВО. Но мы обычно выражаем массивы и длину необработанной памяти слева направо (с «концом» массива справа).

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

В начале поездки мы находимся на младшем разряде старшего байта в (16-битном) слове. Подстаканник начинает двигаться. По мере продвижения в памяти мы начинаем подниматься к самому значительному биту в самом значимом байте в слове — это столько, сколько мы собираемся получить.

Следующий бит после самого старшего бита в старшем байте является младшим битом в младшем байте слова. Вы не можете опускаться ниже, поэтому, когда мы переходим пик, представленный MSBit в MSByte, мы направляемся ПРЯМО ВНИЗ. А затем, по мере продвижения в памяти, мы снова начинаем расти, потому что мы переходим от LSBit в LSByte к MSBit в LSByte. Затем мы проходим первое слово, и избавление начинается заново (есть только небольшой подъем между концом слова, MSBit или LSByte, и LSBit MSByte — каковы их относительные значения?).

Так что память с прямым порядком байтов — это много взлетов и падений. Рассматриваемая как линейная диаграмма, где мы отображаем бит в памяти против его веса в его слове, память с прямым порядком байтов выглядит как серия взлетов и падений внутри каждого слова.

32-битные и 64-битные аналоги 16-битных слов — это просто экстраполяция — наиболее значимый фрагмент идет первым, наименее значимый фрагмент — вторым. Требуется несколько попыток, чтобы четко визуализировать память с прямым порядком байтов.

Поскольку мы рассмотрели прямой порядок байтов, давайте подумаем, как выглядит прямой порядок байтов.Вот наше слово с прямым порядком байтов (младший байт первым) сверху:

Как это выглядит в памяти? Как и в случае с прямым порядком байтов, младший бит в каждом байте идет первым. Разница здесь в том, что теперь младший байт идет первым. Итак, первый бит, который мы видим, — это первый бит наименее значимого байта в слове, а последний видимый бит — это самый старший бит в наиболее значимом байте слова.

Вернемся к аналогии с американскими горками и снова предположим, что все биты в слове установлены в единицу.Вначале мы начинаем с LSBit LSByte в слове — иными словами, как можно больше. Теперь американские горки начинают катиться вперед, и мы движемся вперед в памяти, поднимаясь от LSBit в LSByte к MSBit в LSByte. Здесь все по-другому. Бит, следующий за MSBit в LSByte, является первым битом следующего байта или LSBit в MSByte. И так мы продолжаем подниматься до MSBit в MSByte. На этом наше слово закончилось, и мы резко опускаемся до LSBit в LSByte следующего слова в памяти.

Другими словами, американские горки с прямым порядком байтов очень регулярны. В виде линейного графика память с прямым порядком байтов выглядит как обычная пила.

(Гораздо более широкое обсуждение вопросов, связанных с прямым и обратным порядком байтов, можно найти на http://www.isi.edu/in-notes/ien/ien-137.txt.3)

5. Если это все внутреннее, какое мне дело?

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

Если вы пишете драйверы устройств, вы даже не в безопасности только с одной архитектурой, потому что некоторые из устройств, которые вы пытаетесь поддерживать, могут иметь порядок байтов, противоположный основному процессору. В течение многих лет карты контроллеров SCSI на базе Motorola 68010 поставлялись для систем 80×86 на базе Intel, причем ЦП с прямым порядком байтов выступал в качестве управляющего оборудования на карте SCSI, пытаясь обмениваться данными с ЦП с прямым порядком байтов, на котором работала машина.

Теперь, если, как и большинство учеников в классе, вы использовали модемные подключения по телефонной линии, использовали текст между множеством разных компьютеров и никогда не испытывали никаких проблем, вы, вероятно, думаете, что проблема с порядком байтов сильно преувеличена.Разве вы не столкнулись бы с этим сейчас?

Возможно нет. Пользователи почти никогда этого не делают, потому что это делается за них.

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

Файлы двоичных изображений, такие как zip-файлы, или форматы растровых изображений, такие как .jpg или .tiff, также кажутся не затронутыми, но это потому, что порядок байтов в форматах хорошо определен, и системы, которые должны знать, чтобы преобразовать порядок байтов в их собственное представление при чтении данных.

Однако как программисту необходимо иметь дело с проблемами порядка байтов для пользователей. Здесь все становится сложно и непереносимо.

Самый простой способ справиться с этим — использовать любой определяемый языком метод сокрытия порядка байтов. Фактически, текст ASCII — один из самых простых и интуитивно понятных способов для программистов справиться с порядком байтов, потому что они могут использовать стандартную библиотеку ввода / вывода своего языка программирования для чтения / записи чисел из / в текстовые файлы и оставить это к стандартным библиотечным процедурам для преобразования представления ASCII (в нашем обычном соглашении об орфографии слева направо) в любой внутренний формат, который использует ЦП.Это настолько просто, насколько возможно, потому что он полностью скрывает порядок байтов, но для больших фрагментов двоичных данных это крайне неэффективно, потому что каждый байт в выходном файле хранит только 1 цифру с основанием 10.

Другие методы помечают файл заголовком, который говорит о порядке порядка следования содержащихся данных (например, Unicode [16-битный набор символов] имеет 16-битную отметку в начале файла, которая позволяет программе чтения определять, являются ли данные содержащийся в файле, был сохранен с прямым или обратным порядком байтов и при необходимости изменил).

Если переносимость языков является меньшей проблемой, чем переносимость операционной системы, используйте систему в полной мере. NeXTSTEP / OpenStep предлагают типизированные потоки для решения проблем с порядком байтов, Windows NT определяет платформу с обратным порядком байтов, чтобы исключить проблемы переносимости двоичных данных, а другие мультиплатформенные операционные системы имеют свой собственный способ решения проблемы, если они вообще с ней справляются. .

вернуться в главное меню

основной текст Авторские права Роберт Роджерс, 1997 г.
графические изображения Copyright 1997 Элизабет Роджерс и Роберт Роджерс
Авторское право на HTML-код, 1997 г., Элизабет Роджерс, изображение «Планета обезьян», право собственности на изображение, 1973 г., MGM / Universal Pictures (используется без разрешения), изображение экрана аркадной игры «Перчатка», авторское право — 1983–1985 гг., Atari Games Corp.Авторские права на изображение экрана Apple «Lisa», 1983 г. Apple Computer Inc. Разрешено предоставить эти страницы в их исходной неизмененной форме в Интернете для образовательных целей. Их нельзя переиздавать или включать на CDROM, диск или другие носители, или в какие-либо опубликованные работы без явного разрешения правообладателей (включая книги с часто задаваемыми вопросами).

Инструмент преобразования

знаков в биты

Armazenamento De Dados


Bit

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 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, unidade foi nomeado pelo engenheiro da IBM, Werner Buchholz.)

Caráter

Нет цифрового информационного обеспечения, которое может быть использовано как байт или 8 бит.

Gibibyte

Гибибайт — это многозначный байт, единое целое с цифровой информацией, префиксы норм базового мультипликатора гиби (символы 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 байта

килобита

килобита — это единый блок цифровой информации или передачи.Значение 1024 бит.

Kilobyte

Kilobyte É uma unidade de armazenamento de dados digitais. Размер 1024 байта.

Мебибайт

Мебибайт — это многократный байт, унифицированный цифровой информационный блок, префиксный множитель, используемый для базовых значений (символы Mi). О символе унидад де мебибайт é MiB.

Мегабит

Мегабит — это единое целое для цифровой информации или передачи. É igual 1024 килобит или 1.048,576 бит.

Мегабайт

Мегабайт — это единая упаковка цифровых данных. Размер составляет 1024 или 1,048,576 байта.

Mword

Нет информации в цифровом формате, Mword имеет 4 байта или 32 бита.

Полубайт

Полубайт — 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).O símbolo da unidade de tebibyte é TiB.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *