Байт в 8 бит: Может ли байт состоять из не восьми битов? — Хабр Q&A

Содержание

Почему 1 бит=8 бит? Помогите .

Компьютерная память – это невообразимо большое число ячеек, заполненных лишь единицами и нулями. Ячейкой называется минимальное звено диска, к которому считывающее устройство способно обратиться. В современных компьютерах она физически совпадает с триггером, который настолько мал, что под обычным оптическим микроскопом его увидеть почти невозможно. Каждая ячейка имеет свой уникальный адрес, по нему к ней обращаются любые программы. Чаще всего ячейка совпадает с одним байтом. Но, поскольку архитектура компьютера может иметь разную разрядность, в ячейке может умещаться 2,4 и 8 байт. Электронные устройства воспринимают байт как мельчайшую единицу информации, хотя на самом деле он ещё делится на более элементарные ячейки – биты. Если в байте может быть закодирован единичный символ – цифра или буква, то в один бит они не «влезут». Хотя технически допустимо оперирование контроллеров единичными битами, но практически это почти не используется. Обычно происходит обращение либо к целым байтам, либо к их группам.
Что такое бит? Чтобы понять, скольким битам равен 1 байт, нужно понять, что представляет собой бит. Часто битом называют мельчайшую единицу информации, но это определение не слишком точное, поскольку достаточно размыто само понятие информации. Более точно выглядит формулировка, определяющая бит, как букву компьютерного алфавита. Сам термин «бит» является сокращением английского словосочетания «binary digit», что в переводе на русский означает двоичная цифра. Компьютерный алфавит до невозможности прост, поскольку включает в себя лишь два символа – 0 и 1, что выражается как отсутствие или наличие сигнала или ложь и истина. С помощью этого простейшего набора логически можно описать абсолютно всё. Не более чем миф третье состояние компьютера – молчание, когда он не передаёт сигналы. С точки зрения информации сам по себе символ не имеет никакой ценности, поскольку при виде нуля или единицы совершенно невозможно понять, к какого рода информации данное значение может относиться. И независимо от того, 1 байт сколько бит включает, любые программы, тексты и картинки состоят лишь из нулей и единиц.
Поэтому в качестве самостоятельной единицы бит оказался не слишком удобен. Поэтому для кодирования удобоваримой информации биты потребовалось объединить в байты.

8 бит — это… Что такое 8 бит?

  • Бит-поколение — (англ. The Beat Generation, иногда переводится как «Разбитое поколение»)  название группы американских авторов, работавших над прозой и поэзией[1][2]. Бит поколение оказывало влияние на культурное сознание своих современников с середины …   Википедия

  • БИТ — «Беспроводные информационные технологии» ООО Москва, организация, техн. Источник: http://www.vedomosti.ru/newspaper/article.shtml?2004/10/29/82849 БИТ безопасные информационые технологии кафедра СПбГИТМО образование и наука, Санкт Петербург, техн …   Словарь сокращений и аббревиатур

  • бит — а; мн. род. бит и ов; м. [от англ. сокращения BInary digiT двоичный знак] Минимальная единица измерения количества информации и объёма памяти компьютера (равна одной ячейке или одному двоичному знаку типа да нет ).

    * * * бит (англ. bit, от… …   Энциклопедический словарь

  • Бит/с — Бит в секунду, бит/с (англ. bits per second, bps)  базовая единица измерения скорости передачи информации, используемая на физическом уровне сетевой модели OSI или TCP/IP. На более высоких уровнях сетевых моделей, как правило, используется более… …   Википедия

  • Бит в секунду — Бит в секунду, бит/с (англ. bits per second, bps)  базовая единица измерения скорости передачи информации, используемая на физическом уровне сетевой модели OSI или TCP/IP. На более высоких уровнях сетевых моделей, как правило,… …   Википедия

  • БИТ — (исп.). То же, что реал, монета ценностью в 16 1/2 коп. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н., 1910. БИТ 1 [англ. beat бить] муз. выдержанная в равномерном темпе танцевальная и легкая музыка в размере 4/4 с… …   Словарь иностранных слов русского языка

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

    [Домарев… …   Справочник технического переводчика

  • Бит (музыка) — Бит (англ. beat удар) англоязычный перевод значения слова доля (музыкальная). Многим пользователям музыкальных компьютерных программ это слово встречается в обозначении скорости воспроизведения BPM (англ. beat per minute, bpm ударов в минуту),… …   Википедия

  • БИТ — (англ. bit от binary двоичный и digit знак), двоичная единица, в теории информации единица количества информации. Бит в вычислительной технике двоичная цифра, двоичный разряд. число бит памяти ЭВМ определяет максимальное количество двоичных цифр …   Большой Энциклопедический словарь

  • Бит-демонстрация в Лейпциге — (нем. Leipziger Beatdemo) состоялась 31 октября 1965 года в центре Лейпцига. Демонстрация была направлена против запрета государственными органами музыки Бит и многочисленных музыкальных групп. Вызвана демонстрация была вышедшим десятью… …   Википедия

  • БИТ-МУЗЫКА — (биг бит) (англ. beat удар), термин, относящийся к раннему британскому року (первая половина 1960 х гг.). Распространился в странах Восточной Европы и СССР в 1960 х начале 70 х годов для определения молодежной песенно танцевальной музыки, близкой …   Энциклопедический словарь

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

    Так вот 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 единиц и нулей). Попробуйте русские буквы и убедитесь в этом.

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

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

    MC9S08PL4CSC, 8 Bit MCU, S08 Family S08P Series Microcontrollers, 20 МГц, 4 КБ, 512 Байт, 8 вывод(-ов), SOIC, NXP

    Максимальное Напряжение Питания 5.5В
    Минимальное Напряжение Питания 2.7В
    Количество Выводов 8вывод(-ов)
    Уровень Чувствительности к Влажности (MSL) MSL 3 — 168 часов
    Количество I/O 6I/O
    Скорость ЦПУ 20мгц
    Стиль Корпуса Микроконтроллера SOIC
    Размер Памяти 4КБ
    Тип Встроенного Интерфейса sci
    Размер Памяти RAM 512Байт
    Линейка Продукции S08 Family S08P Series Microcontrollers
    Семейство Микроконтроллера S08
    Серия Микроконтроллера S08P
    Вид монтажа SMD/SMT
    Категория продукта
    8-битные микроконтроллеры
    Количество входов/выходов 6 I/O
    Количество каналов АЦП 4 Channel
    Контрольные таймеры Watchdog Timer
    Максимальная рабочая температура + 85 C
    Максимальная тактовая частота 20 MHz
    Минимальная рабочая температура 40 C
    Напряжение питания — макс. 5.5 V
    Напряжение питания — мин. 2.7 V
    Подкатегория Microcontrollers — MCU
    Продукт MCU
    Рабочее напряжение питания 2.7 V to 5.5 V
    Размер ОЗУ данных 512 B
    Размер ПЗУ данных 128 B
    Размер программной памяти 4 kB
    Размер фабричной упаковки 98
    Разрешение АЦП 10 bit
    Серия MC9S08PL
    Тип интерфейса LIN, SCI, UART
    Тип ОЗУ данных RAM
    Тип памяти программ Flash
    Тип ПЗУ данных EEPROM
    Тип продукта 8-bit Microcontrollers — MCU
    Торговая марка NXP Semiconductors
    Упаковка / блок SOIC-8
    Ширина шины данных 8 bit
    Ядро S08
    Вес, г 2. 5

    В C, сколько места занимает bool (boolean)? Это 1 бит, 1 байт или что-то еще?

    В более старых стандартах C такого типа не было определено. Однако многие встроенные микроконтроллеры включают в себя специальные схемы, позволяющие эффективно обрабатывать однобитовые флаги; некоторые позволяют такую ​​обработку переменных хранить в любом месте, в то время как другие допускают ее только для переменных, хранящихся в определенном регионе памяти. Компиляторы для таких процессоров позволяют объявлять отдельные переменные статической продолжительности как «бит»; такие переменные, как правило, берут только один бит памяти (выделяются, если необходимо, в пределах региона, который может вместить такое использование). Некоторые компиляторы позволят автоматическим переменным нерекурсивных подпрограмм быть объявлены как «бит», но будут молча рассматривать их как «статические» (компоновщики, снабженные такими компиляторами, требуют, чтобы подпрограммы определяли, какие другие подпрограммы они вызывают, и откажутся от программ в которых подпрограммы, которые не помечены как повторные вызовы, взаимно рекурсивно называют друг друга).

    Несколько замечаний:

    1. Processors whose compilers support «true» bit variables can generally set, clear, or branch upon the values of such variables faster and with less code than they could set, clear, or branch upon byte-wide flags;
    2. Many such processors have very small amounts of RAM. On many processors, question of whether individual variables (as distinct from array elements or structure fields) take a bit or a byte each wouldn’t be worth worrying about. On a processor with 25 bytes of memory, however, there’s a huge difference between having 16 flags taking one byte each, versus having all 16 flags combined into two bytes.
    3. At least on compilers I’ve seen, bit variables may not be used as structure fields nor array elements, nor may one take the address of one.

    Я не знаю достаточно о C99 или более поздних версиях стандартов C или C ++, чтобы узнать, есть ли у них какая-либо концепция автономного типа бит, у которой нет адреса. Я не могу думать ни о какой причине, что такая вещь не может быть возможной, особенно стандарты уже признают концепцию таких вещей, как структурные битовые поля, которые ведут себя как lvalues, но не имеют адресов. Некоторые линкеры могут не поддерживать такие переменные, но такие компоновщики могут быть адаптированы, если их фактический размер зависит от реализации (действительно, помимо скорости программы или общего использования памяти, было бы невозможно определить, были ли заданы такие переменные 1 бит или 64 бита каждый).

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

    Добавлено в избранное Любимый 48

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

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

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

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

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

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

    Длина Имя Пример
    1 Бит 0
    4 Полубайт 1011
    8 Байт 10110101

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

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

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

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


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

    8 бит в ГБ | бит в гигабайтах

    Вот ответ на такие вопросы: 8 бит в ГБ. Что такое 8 бит в гигабайтах? Сколько бит в 8 гигабайтах?

    Используйте указанные выше единицы данных или преобразователь хранилища не только для преобразования из битов в ГБ, но и для преобразования из / во многие единицы данных, используемые в памяти компьютера.

    Таблица преобразования байт для двоичного и десятичного преобразования

    Приведенная ниже диаграмма пытается объяснить сценарий 2016 года. Эти определения не являются консенсусом. Использование таких единиц, как кибибайт, мебибайт и т. Д. (IEC), широко не известно.

    Двоичная система (традиционная)

    В хранилище данных традиционно при описании цифровых схем килобайт составляет 2 10 или 1024 байта.Это происходит из-за двоичного возведения в степень, общего для этих схем. Это так называемая ДВОИЧНАЯ система, в которой кратность байтов всегда является некоторой степенью двойки.

    Двоичный префикс kibi (старый k) означает 2 10 или 1024, следовательно, 1 кибибайт равен 1024 байтам. Единицы (Kib, MiB и т. Д.) Были установлены Международной электротехнической комиссией (IEC) в 1998 году. Эти единицы используются для емкости оперативной памяти (RAM), такой как размер основной памяти и кеш-памяти ЦП, из-за двоичной адресации. памяти.40 байт = 1 099 511 627 776 байт и так далее …

    Десятичная система (СИ)

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

    • 1 байт (B) = 8 бит (b) (один байт всегда 8 бит)
    • 1 килобайт (кБ) = 10 3 байт = 1000 байт
    • 1 мегабайт (МБ) = 10 6 байт = 1000000 байт
    • 1 гигабайт (ГБ) = 10 9 байт = 1000000000 байт
    • 1 терабайт (ТБ) = 10 12 байт = 1 000 000 000 000 байтов и так далее. ..

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

    Множители бит

    = 1000000000 4 = 1099511627776 9614630000000000 9093
    Единица Символ В битах
    Бит бит 1
    Килобит Кбит 1000 1 = 10003939 Кибит Кибит 1 = 1024
    Мегабит Мбит 1000 2 = 1000000
    Мебибит Mibit 1024 2 = 1048576
    Gigabit107
    Gibibit Gibit 1024 3 = 1073741824
    Терабит Тбит 1000 4 = 1000000000000 Тибибит
    Петабит Пбит 1000 5 = 1000000000000000
    Pebibit Pibit 1024 5 = 1125899

    2620

    Exabit Ebit

    00 1000000 100107

    00 Exbibit

    Eibit 1024 6 = 11524606850000
    Zettabit Zbit 1000 7 = 1000000000000000000000
    Zebibit1092 99
    Yottabit Ybit 1000 8 = 1000000000000000000000000
    Yobibit Yibit 1024 8 = 1208

    Кратное значение байта

    90 036 1000 5 = 8000000000000000 940990 72036854780000 0000000000 1

    Конвертер накопителя

    Пример преобразования единиц данных

    Заявление об ограничении ответственности

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

    Массив байтов: последовательности 8-битных групп

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

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

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

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

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

    Важные соображения

    Часто предполагается, что байты содержат 8 битов — это не гарантируется, но практично. Потоки байтов могут содержать последовательности из 16 бит, 32 бита или другие произвольные значения, выбранные разработчиками. Восьмибитные последовательности достаточно обычны, чтобы сделать предположение , но недостаточно стандартно, чтобы сделать гарантией .

    Восьмиразрядные байты могут представлять значения до 256, что ограничивает доступные кодировки. Например, набор символов ASCII содержит значения, представленные 0–128.

    В восьмибитных представлениях чисел возможно максимальное значение 256, что указывает на то, что ASCII не полностью использует возможные символы. Стандарт ISO 8859-1 (Latin-1) устанавливает полный набор из 256 символов, чтобы полностью использовать диапазон значений, предоставляемый 8-битным байтовым соглашением.

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

    Кодирование, декодирование, и использование различных наборов символов является обычным явлением в программировании. Эти соображения особенно распространены среди приложений сетевого программирования, таких как протокол передачи TCP / IP.Современные языки программирования, такие как Python, Java и C ++, предоставляют разработчикам инструменты для определения, преобразования и управления данными, чтобы двоичные данные можно было надлежащим образом интерпретировать. Например, Python имеет встроенные функции для преобразования данных в ASCII, а Java имеет мощную библиотеку Sockets, которая обрабатывает двоичную передачу данных.

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

    Используя 8-битные байты, покажите, как представить 56 789. Четко укажите значения байтов в шестнадцатеричном формате и

    .

    Ответ:

    a) 56789₁₀ = 11011110111010101₂ (целое число без знака)

    b) 56789₁₀ = 0000000011011110111010101₂ (дополнение до двух)

    c) 56789₁₀ = 01010110011110001001 (9₁₀II) 56789 = 01010110011110001001 (9₁₀II) 9000 9000) 56789 = 0 — 1000 1110 — 101 1101 1101 0101 0000 0000 (одинарная точность IEEE)

    Пояснение:

    a) 56789₁₀ = (1 × 2¹⁵) + (1 × 2¹⁴) + (0 × 2¹³) + (1 × 2¹²) + (1 × 2¹¹) + (1 × 2¹⁰) + (0 × 2⁹) + (1 × 2⁸) + (1 × 2⁷) + (1 × 2⁶) + (0 × 2⁵) + (1 × 2⁴) + ( 0 × 2³) + (1 × 2²) + (0 × 2¹) + (1 × 2⁰) = 11011110111010101₂

    Для этого требуется 2 байта — 16 бит и шестнадцатеричное значение байта DDD5.

    2) поскольку число положительное, дополнение до двух — это то же самое двоичное число со знаком 0, указывающим на положительное число впереди.

    56789₁₀ = 0000000011011110111010101₂

    Для этого требуется 3 байта — 24 бита и шестнадцатеричное значение байта 11DDD5.

    c) BCD

    Преобразует каждый отдельный бит в базе 10 в двоичный.

    5 = 0101, 6 = 0110, 7 = 0111, 8 = 1000, 9 = 10001, в сумме получаем

    56789₁₀ = 01010110011110001001 (BCD)

    Это исторический код.

    Для этого требуется 3 байта — 24 бита и шестнадцатеричное значение байта 56789.

    d) ASCII

    Здесь используются символы для представления чисел.

    56789₁₀ = ÝÕ (ASCII)

    Для этого требуется 1 байт — 8 бит.

    e) IEEE одинарной точности

    Шаг 1, преобразование в основание 2

    56789₁₀ = 11011110111010101₂

    Шаг 2, нормализация двоичного кода,

    11011110111010101₂ = 11011110111010101 × 2⁰10 = 11011110 = 11011110 Знак110 )

    Показатель степени (нескорректированный) = 15

    Мантисса (ненормированная) = 1. 1011110111010101

    Шаг 3. Настройте показатель степени в 8-битном представлении избытка / смещения, а затем преобразуйте его из десятичного (основание 10) в 8-битное двоичное

    Показатель (скорректированный) = Показатель (нескорректированный) + 2⁽⁸⁻¹⁾ — 1 = 15 + 2⁽⁸⁻¹⁾ — 1 = (15 + 127) ₁₀ = 142₁₀

    Экспонента (скорректированная) = 142₁₀ = 1000 1110₂

    Шаг 4, нормализовать мантиссу, удалить ведущий (крайний левый) бит, так как он всегда 1 (и десятичная точка, если таковая), затем отрегулируйте его длину до 23 бит, добавив необходимое количество нулей справа:

    Мантисса (нормализованная) = 1.101 1101 1101 0101 0000 0000 = 101 1101 1101 0101 0000 0000

    Следовательно,

    56789₁₀ = 0 — 1000 1110-101 1101 1101 0101 0000 0000

    Для этого требуется 4 байта — 32 бита и шестнадцатеричное значение байта 8E5DD500.

    Надеюсь, это поможет!

    Tech Stuff — шестнадцатеричный, десятичный и двоичный

    Основной единицей, используемой в компьютерном мире, является байт (он же октет), байт (или октет) состоит из 8 бит (он же двоичные цифры). Большинство современных систем используют число, кратное байту, таким образом, 16-разрядная система состоит из 2 байтов (2 x 8 = 16), 32-разрядная система имеет 4 байта (4 x 8 = 32), а 64-разрядная система имеет 8 байтов (8 x 8 = 64).Термин слово , как и в описании 32-битного слова, в значительной степени исчез из технической лексики.

    Содержимое любого байта, например, в ячейке памяти или в сети, может быть выражено во многих системах нумерации . Чаще всего используются системы счисления Decimal , Hexadecimal и Binary :

    Единица Символ В битах
    Байт B 8
    Килобайт КБ 1000 1 = 8000
    Киб 1 = 8192
    Мегабайт Мбайт 1000 2 = 8000000
    Мебибайт МиБ 1024 2 = 8388608 Гигабайт Гбайт = 8000000000
    Gibibyte GiB 1024 3 = 8589934592
    Терабайт TB 1000 4 = 8000000000000
    Тебиб 4 = 87960208
    Петабайт PB
    Pebibyte PiB 1024 5 =
    Exabyte EB 1000 0000

    00

    00

    EiB 1024 6 =
    Zettabyte ZB 1000 7 = 8000000000000000000000
    Zebibyte
    Zebibyte
    Yottabyte YB 1000 8 = 8000000000000000000000000
    Yobibyte YiB 1024 8 = 9671406556
    Система нумерации База Диапазон Банкноты
    Десятичное база 10 0 — 1,2,3… Самая распространенная система нумерации — доллары, метрика и т. Д. Байт (8 бит) имеет 256 возможных значений в диапазоне 0 — 255
    Двоичный база 2 0–1 Базовый уровень, на котором работает электронная схема в компьютере — один бит.
    Шестнадцатеричный база 16 0-9, A-F Каждый шестнадцатеричный символ представляет 4 бита (от 0 до 15 в десятичной системе), который называется полубайтом (маленький байт — честно!).Байт (или октет) составляет 8 бит, поэтому всегда представлен двумя шестнадцатеричными символами в диапазоне от 00 до FF.

    Историческая справка: Когда-то давно, когда мир и даже автор этой страницы были молоды, компьютеры были построены с использованием 12-битных, 24-битных и даже 36-битных слов (это имело определенный смысл тогда как раз сегодня выглядит странно). Каждый из этих размеров слова делится на 3 и использует восьмеричную систему нумерации (основание 8). Каждый 3-битный элемент содержал 8 значений в диапазоне от 0 до 7. Таким образом, ячейка памяти с 12-битным двоичным значением 000.001.100.111 будет записано в восьмеричной системе счисления 0147.

    Нумерация битов

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

    Содержимое памяти 0 0 0 0 0 0 0 0
    Условные обозначения нумерации бит
    Основание слева направо 0 (IETF) 0 1 2 3 4 5 6 7
    Основание слева направо 1 1 2 3 4 5 6 7 8
    Основание справа налево 1 (ITU) 8 7 6 5 4 3 2 1
    Мощность 2 7 6 5 4 3 2 1 0

    Всегда проверяйте, какое соглашение используется в любой спецификации. Мы смирились с неизбежным и используем стандарт Left to right base 0 (IETF) , поскольку благодаря Интернету он широко используется и, надеюсь, столь же широко понимается. Обоснование этого стандарта IETF состоит в том, что он также недвусмысленно представляет то, что называется сетевым порядком , то есть бит 0 сначала попадает в сеть, бит 1 — секунду и так далее. Биты также имеют тенденцию выходить из сети в том же порядке, в котором они поступали. Использование сетевого порядка необходимо, поскольку внутреннее (машинное) представление данных может сильно различаться (вся эта чушь с прямым порядком байтов и прямым порядком байтов), но когда данные загружаются в сеть, они должны быть в согласованном порядке, который может использоваться любая система, независимо от ее внутреннего представления, которая хочет использовать данные.

    Наконец, при работе с двоичным кодом вы часто будете сталкиваться с терминами наиболее значимый бит (s) (MSB) и наименее значимый бит (s) (LSB). Старший бит всегда находится слева, а младший бит — справа. Таким образом, при использовании нумерации битов IETF MSB — это бит 0, а LSB — бит 7, тогда как при использовании битовой нумерации ITU MSB — это бит 8, а LSB — бит 1. Совершенно ясно, не так ли?

    8-битный байт (октет) Таблица преобразования:

    Преобразование десятичного числа IPv4 в шестнадцатеричное

    Десятичное Шестнадцатеричный двоичный Десятичное Шестнадцатеричный двоичный
    0 00 0000 0000 128 80 1000 0000
    1 01 0000 0001 129 81 1000 0001
    2 02 0000 0010 130 82 1000 0010
    3 03 0000 0011 131 83 1000 0011
    4 04 0000 0100 132 84 1000 0100
    5 05 0000 0101 133 85 1000 0101
    6 06 0000 0110 134 86 1000 0110
    7 07 0000 0111 135 87 1000 0111
    8 08 0000 1000 136 88 1000 1000
    9 09 0000 1001 137 89 1000 1001
    10 0A 0000 1010 138 8A 1000 1010
    11 0B 0000 1011 139 8B 1000 1011
    12 0C 0000 1100 140 8C 1000 1100
    13 0D 0000 1101 141 8D 1000 1101
    14 0E 0000 1110 142 8E 1000 1110
    15 0F 0000 1111 143 8F 1000 1111
    16 10 0001 0000 144 90 1001 0000
    17 11 0001 0001 145 91 1001 0001
    18 12 0001 0010 146 92 1001 0010
    19 13 0001 0011 147 93 1001 0011
    20 14 0001 0100 148 94 1001 0100
    21 15 0001 0101 149 95 1001 0101
    22 16 0001 0110 150 96 1001 0110
    23 17 0001 0111 151 97 1001 0111
    24 18 0001 1000 152 98 1001 1000
    25 19 0001 1001 153 99 1001 1001
    26 1A 0001 1010 154 9A 1001 1010
    27 0001 1011 155 1001 1011
    28 0001 1100 156 9C 1001 1100
    29 1D 0001 1101 157 9D 1001 1101
    30 1E 0001 1110 158 9E 1001 1110
    31 1 этаж 0001 1111 159 9F 1001 1111
    32 20 0010 0000 160 A0 1010 0000
    33 21 0010 0001 161 A1 1010 0001
    34 22 0010 0010 162 A2 1010 0010
    35 23 0010 0011 163 A3 1010 0011
    36 24 0010 0100 164 A4 1010 0100
    37 25 0010 0101 165 A5 1010 0101
    38 26 0010 0110 166 A6 1010 0110
    39 27 0010 0111 167 A7 1010 0111
    40 28 0010 1000 168 A8 1010 1000
    41 29 0010 1001 169 A9 1010 1001
    42 2A 0010 1010 170 AA 1010 1010
    43 2B 0010 1011 171 AB 1010 1011
    44 2C 0010 1100 172 AC 1010 1100
    45 2D 0010 1101 173 н. э. 1010 1101
    46 2E 0010 1110 174 AE 1010 1110
    47 2F 0010 1111 175 AF 1010 1111
    48 30 0011 0000 176 B0 1011 0000
    49 31 0011 0001 177 B1 1011 0001
    50 32 0011 0010 178 B2 1011 0010
    51 33 0011 0011 179 B3 1011 0011
    52 34 0011 0100 180 B4 1011 0100
    53 35 0011 0101 181 B5 1011 0101
    54 36 0011 0110 182 B6 1011 0110
    55 37 0011 0111 183 B7 1011 0111
    56 38 0011 1000 184 B8 1011 1000
    57 39 0011 1001 185 B9 1011 1001
    58 3A 0011 1010 186 BA 1011 1010
    59 3B 0011 1011 187 BB 1011 1011
    60 3C 0011 1100 188 г. до н.э. 1011 1100
    61 3D 0011 1101 189 BD 1011 1101
    62 3E 0011 1110 190 BE 1011 1110
    63 3F 0011 1111 191 BF 1011 1111
    64 40 0100 0000 192 C0 1100 0000
    65 41 0100 0001 193 C1 1100 0001
    66 42 0100 0010 194 C2 1100 0010
    67 43 0100 0011 195 C3 1100 0011
    68 44 0100 0100 196 C4 1100 0100
    69 45 0100 0101 197 C5 1100 0101
    70 46 0100 0110 198 C6 1100 0110
    71 47 1100 0111 199 C7 1100 0111
    72 48 0100 1000 200 C8 1100 1000
    73 49 0100 1001 201 C9 1100 1001
    74 4A 0100 1010 202 CA 1100 1010
    75 4B 0100 1011 203 CB 1100 1011
    76 4C 0100 1100 204 CC 1100 1100
    77 4D 0100 1101 205 CD 1100 1101
    78 4E 0100 1110 206 CE 1100 1110
    79 4F 1100 1111 207 CF 1100 1111
    80 50 0101 0000 208 D0 1101 0000
    81 51 0101 0001 209 D1 1101 0001
    82 52 0101 0010 210 D2 1101 0010
    83 53 0101 0011 211 D3 1101 0011
    84 54 0101 0100 212 D4 1101 0100
    85 55 0101 0101 213 D5 1101 0101
    86 56 0101 0110 214 D6 1101 0110
    87 57 1101 0111 215 D7 1101 0111
    88 58 0101 1000 216 D8 1101 1000
    89 59 0101 1001 217 D9 1101 1001
    90 5A 0101 1010 218 DA 1101 1010
    91 0100 1011 219 DB 1101 1011
    92 5C 0101 1100 220 постоянного тока 1101 1100
    93 5D 0101 1101 221 DD 1101 1101
    94 5E 0101 1110 222 DE 1101 1110
    95 5F 1101 1111 223 DF 1101 1111
    96 60 0110 0000 224 E0 1110 0000
    97 61 0110 0001 225 E1 1110 0001
    98 62 0110 0010 226 E2 1110 0010
    99 63 0110 0011 227 E3 1110 0011
    100 64 0110 0100 228 E4 1110 0100
    101 65 0110 0101 229 E5 1110 0101
    102 66 0110 0110 230 E6 1110 0110
    103 67 1110 0111 231 E7 1110 0111
    104 68 0110 1000 232 E8 1110 1000
    105 69 0110 1001 233 E9 1110 1001
    106 6A 0110 1010 234 EA 1110 1010
    107 6B 0110 1011 235 EB 1110 1011
    108 6C 0110 1100 236 EC 1110 1100
    109 6D 0110 1101 237 ED 1110 1101
    110 6E 0110 1110 238 EE 1110 1110
    111 6F 1110 1111 239 EF 1110 1111
    112 70 0111 0000 240 F0 1111 0000
    113 71 0111 0001 241 F1 1111 0001
    114 72 0111 0010 242 F2 1111 0010
    115 73 0111 0011 243 F3 1111 0011
    116 74 0111 0100 244 F4 1111 0100
    117 75 0111 0101 245 F5 1111 0101
    118 76 0111 0110 246 F6 1111 0110
    119 77 1111 0111 247 F7 1111 0111
    120 78 0111 1000 248 F8 1111 1000
    121 79 0111 1001 249 F9 1111 1001
    122 7A 0111 1010 250 FA 1111 1010
    123 7B 0111 1011 251 FB 1111 1011
    124 7C 0111 1100 252 FC 1111 1100
    125 7D 0111 1101 253 FD 1111 1101
    126 7E 0111 1110 254 FE 1111 1110
    127 7F 0111 1111 255 FF 1111 1111

    Преобразование десятичного числа IPv4 в шестнадцатеричное

    Чтобы преобразовать десятичный IPv4-адрес с точками в шестнадцатеричный, возьмите каждое десятичное значение, разделенное точками, и преобразуйте его с помощью шестнадцатеричного калькулятора (стандартный калькулятор Windows в научном или программистском режиме выполнит эту работу). Это даст:

    IP-адрес в десятичном формате с точками = 192.168.0.5
    Десятичное 192 = Шестнадцатеричное = C0
    Десятичный 168 = Шестнадцатеричный = A8
    Десятичный 0 = Шестнадцатеричный = 00
    Десятичный 5 = Шестнадцатеричный = 05
    IP-адрес в шестнадцатеричном формате с точками = C0.A8.00.05
     


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

    Planet Of Tunes — Единицы компьютерной памяти и памяти

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

    Bit (Binary digIT) — цифровой «алфавит»

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

    Байт — «цифровые слова»

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

    Просмотр в альбомном режиме или смахивание для прокрутки

    Байт (примеры) Битовая глубина (длина слова) Возможный диапазон значений Примеры типов файлов
    1001 4-бит 16. gif
    10011100 8-бит 256 .gif, MIDI. 8-битные байты также используются для обозначения емкости хранилища и размера файла.
    1001110000110101 16 бит 65 536 Аудио компакт-диск
    100101101001000100011110 24-бит Миллионы Photoshop, DVD-аудио

    Цифровые файлы

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

    • Системные файлы для Windows или Mac OS
    • Программы
    • Файлы изображений
    • Музыкальные файлы
    • Файлы документов
    • и т. Д. И т. Д.

    Различная длина слова

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

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

    • Файл изображения в формате GIF , который будет состоять из 8-битных (или менее) байтов
    • Аудиофайл .aif или .wav с качеством компакт-диска , который будет содержать несколько 16-битных байтов
    • Исходный документ RGB Photoshop , который будет содержать несколько 24-битных байтов
    • Элементы операционной системы , некоторые из которых могут быть 32-разрядными, а другие — 64-разрядными

    Одно приложение может одновременно обрабатывать разные мультимедийные файлы с разной битовой глубиной. Например … Flash может воспроизводить аудио, отображать изображения и воспроизводить видеофайлы с разной длиной слова.

    Расчет размера цифрового файла и емкости оборудования

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

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

    Единицы хранения и памяти

    Стандартные единицы количества (или размера) используются для выражения для описания…

    • Размер компьютерных файлов (элементы системы, приложения и данные)
    • Емкость модулей краткосрочной памяти (RAM, FlashRAM и ROM)
    • Емкость устройств длительного хранения , таких как жесткие диски и диски CD-ROM.

    Ниже приводится обзор этих агрегатов в порядке от самых маленьких до самых больших …

    Просмотр в альбомном режиме или смахивание для прокрутки

    Установка Описание Размер
    Бит (двоичная цифраIT)

    Цифровой «алфавит»

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

    Байт

    Цифровое «слово»

    Ранние компьютеры сгруппировали биты в блоки по 8, чтобы сформировать компьютерные «слова» или байты. Например: 10011101 8-битный байт может представлять 256 значений от 0 (00000000) до 255 (11111111).

    Битовая глубина

    Битовая глубина выражает количество бит в байте.Таким образом, считается, что байт, состоящий из 8 бит, имеет битовую глубину 8. Можно также сказать, что это 8-битный байт.

    По мере увеличения мощности компьютера, 16, 24, 32, 64 и т. Д. Байта стали возможными благодаря объединению 8-битных байтов. Как правило, чем больше битов в байте, тем мощнее и сложнее может быть язык.

    Щелкните здесь, чтобы узнать больше о битовой глубине

    Переменная, но …

    … всегда 8 бит, когда используется для измерения размера файла, объема памяти и памяти (RAM).

    ВАЖНОЕ ПРИМЕЧАНИЕ. Независимо от того, какой битовой глубиной являются байты в файле, общий размер файла всегда выражается в 8-битных байтах. Таким образом, размер файла, содержащего два 16-битных байта (всего 32 бита), будет иметь размер 4 байта (4 x 8 = 32).

    Килобит (kb)

    Используется для выражения пропускной способности сети.

    например, поскольку 1 байт равен 8 битам, модемное соединение со скоростью 56 Кбит / с (56 килобит / с) имеет пропускную способность 7 килобайт / с (56 делить на 8).

    1024 бит
    Килобайт (КБ, КБ)

    В настоящее время используется для измерения …

    Особенно важно при разработке веб-сайтов, где малый размер файлов (html-страницы и файлы изображений) имеет первостепенное значение.

    1024 байта
    Мегабайт (Мб)

    В настоящее время используется для измерения …

    • Объем оперативной памяти
    • размер файла программы и данных
    • емкость запоминающих устройств, таких как… CD-ROM (650 Мб данных, 740 Мб аудио из красной книги), HD гибкие диски (1,4 Мб) и съемные картриджи (например, Zip в версиях 100 Мб и 250 Мб).
    1024 Килобайт
    Гигабайт (Гб)

    В настоящее время используется для выражения …

    • емкость жестких дисков
    • емкость карты памяти
    • емкость DVD дисков
    • объем установленной оперативной памяти
    • размер «больших» файлов данных, таких как видео
    1024 Мегабайт
    Терабайт (Тб) Используется для обозначения емкости больших жестких дисков.Скоро (2008 г.) внутренние диски «потребительских» ПК будут иметь емкость, измеряемую ТБ. 1024 Гигабайт

    Как операционные системы измеряют размер файла и емкость хранилища

    Полезно знать, что независимо от фактической разрядности байтов в данном файле операционные системы всегда сообщают размер файла и емкость хранилища в 8-разрядных байтах.

    например, файл, содержащий 100 x 16-битных байтов, будет сообщаться операционной системой как имеющий размер 200 (8-битных) байтов.

    примитивных типов данных (Руководства по Java ™> Изучение языка Java> Основы языка)

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

    Это сообщает вашей программе, что поле с именем «шестерня» существует, содержит числовые данные и имеет начальное значение «1». Тип данных переменной определяет значения, которые она может содержать, а также операции, которые могут выполняться с ней.Помимо int , язык программирования Java поддерживает семь других примитивных типов данных . Примитивный тип предопределен языком и назван зарезервированным ключевым словом. Примитивные значения не разделяют состояние с другими примитивными значениями. Язык программирования Java поддерживает следующие восемь примитивных типов данных:

    • байт : тип данных байт является 8-битовым целым числом с дополнением до двух со знаком. Он имеет минимальное значение -128 и максимальное значение 127 (включительно).Тип данных байт может быть полезен для экономии памяти в больших объемах. массивы, где действительно важна экономия памяти. Их также можно использовать вместо int , где их пределы помогают прояснить ваш код; тот факт, что диапазон переменной ограничен, может служить формой документации.

    • short : Тип данных short представляет собой 16-битовое целое число со знаком в дополнительном коде. Он имеет минимальное значение -32 768 и максимальное значение 32 767 (включительно).Как и в случае с байтом , применяются те же правила: вы можете использовать короткий для экономии памяти в больших массивах в ситуациях, когда экономия памяти действительно имеет значение.

    • int : по умолчанию тип данных int представляет собой 32-битное знаковое целое число с дополнением до двух, которое имеет минимальное значение -2 31 и максимальное значение 2 31 -1. В Java SE 8 и более поздних версиях вы можете использовать тип данных int для представления 32-битного целого числа без знака, минимальное значение которого равно 0, а максимальное — 2 32 -1.Используйте класс Integer, чтобы использовать тип данных int как целое число без знака. См. Раздел «Числовые классы» для получения дополнительной информации. Статические методы, такие как compareUnsigned , diverUnsigned и т.д. Integer Класс для поддержки арифметических операций с целыми числами без знака.

    • long : Тип данных long — это 64-битное целое число с дополнением до двух. Длинное число со знаком имеет минимальное значение -2 63 и максимальное значение 2 63 -1. В Java SE 8 и более поздних версиях вы можете использовать тип данных long для представления беззнакового 64-битного типа long, который имеет минимальное значение 0 и максимальное значение 2 64 -1. Используйте этот тип данных, если вам нужен более широкий диапазон значений, чем предоставленный int . В Long Класс также содержит такие методы, как compareUnsigned , diverUnsigned и т. Д. Для поддержки арифметических операций для unsigned long.

    • с плавающей запятой : Тип данных с плавающей запятой представляет собой 32-битное число с плавающей запятой одинарной точности IEEE 754.Диапазон его значений выходит за рамки данного обсуждения, но указан в Раздел «Типы, форматы и значения с плавающей запятой» Спецификации языка Java. Как и в случае с рекомендациями для байта и короткого , используйте float (вместо double ), если вам нужно сохранить память в больших массивах чисел с плавающей запятой. Этот тип данных никогда не следует использовать для точных значений, таких как валюта. Для этого вам нужно будет использовать java.math.BigDecimal вместо этого.Numbers and Strings охватывает BigDecimal и другие полезные классы, предоставляемые платформой Java.

    • double : тип данных double представляет собой 64-битное число с плавающей запятой IEEE 754 с двойной точностью. Диапазон его значений выходит за рамки данного обсуждения, но указан в Раздел «Типы, форматы и значения с плавающей запятой» Спецификации языка Java. Для десятичных значений этот тип данных обычно выбирается по умолчанию. Как упоминалось выше, этот тип данных никогда не следует использовать для точных значений, таких как валюта.

    • boolean : Тип данных boolean имеет только два возможных значения: true и false . Используйте этот тип данных для простых флагов, которые отслеживают истинные / ложные условия. Этот тип данных представляет один бит информации, но его «размер» не совсем точно определен.

    • char : Тип данных char — это один 16-битный символ Unicode. Он имеет минимальное значение '\ u0000' (или 0) и максимальное значение '\ uffff' (или 65 535 включительно).

    В дополнение к восьми примитивным типам данных, перечисленным выше, язык программирования Java также обеспечивает специальную поддержку символьных строк через java.lang.String класс. Заключение строки символов в двойные кавычки автоматически создаст новый объект String ; например, String s = "это строка"; . String Объекты неизменяемы , что означает, что после создания их значения не могут быть изменены. Класс String технически не является примитивным типом данных, но, учитывая особую поддержку, предоставляемую ему языком, вы, вероятно, будете думать о нем как о таковом. Вы узнаете больше о классе String в Простые объекты данных

    Значения по умолчанию

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

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

    Тип данных Значение по умолчанию (для полей)
    байт 0
    короткий 0
    внутренний 0
    длинный 0L
    поплавок 0,0f
    двойной 0,0d
    знак ‘\ u0000’
    Строка (или любой объект) null
    логический ложь

    Локальные переменные немного отличаются; компилятор никогда не присваивает значение по умолчанию неинициализированной локальной переменной. Если вы не можете инициализировать свою локальную переменную там, где она объявлена, не забудьте присвоить ей значение, прежде чем пытаться использовать ее. Доступ к неинициализированной локальной переменной приведет к ошибке времени компиляции.

    Литералы

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

    логический результат = истина;
    char capitalC = 'C';
    байт b = 100;
    короткий s = 10000;
    int i = 100000;
     
    Целочисленные литералы

    Целочисленный литерал имеет тип long , если он заканчивается буквой L или l ; в противном случае это тип int . Рекомендуется использовать прописную букву L , потому что строчную букву l трудно отличить от цифры 1 .

    Значения целочисленных типов byte , short , int и long могут быть созданы из int литералов. Значения типа long , которые превышают диапазон int , могут быть созданы из long литералов. Целочисленные литералы можно выразить с помощью этих систем счисления:

    • Десятичный: Основание 10, цифры которого состоят из чисел от 0 до 9; это система счисления, которую вы используете каждый день
    • Шестнадцатеричный: основание 16, цифры которого состоят из цифр от 0 до 9 и букв от A до F
    • Двоичный: База 2, цифры которого состоят из чисел 0 и 1 (вы можете создавать двоичные литералы в Java SE 7 и более поздних версиях)

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

    // Число 26 в десятичном формате
    int decVal = 26;
    // Число 26 в шестнадцатеричном формате
    int hexVal = 0x1a;
    // Число 26 в двоичном формате
    int binVal = 0b11010;
     
    Литералы с плавающей запятой

    Литерал с плавающей запятой имеет тип float , если он заканчивается буквой F или f ; в противном случае его тип — double и может дополнительно заканчиваться буквой D или d .

    Типы с плавающей запятой ( float и double ) также могут быть выражены с помощью E или e (для научных обозначений), F или f (32-битный литерал с плавающей запятой) и D или d (64-битный двойной литерал; это является значением по умолчанию и по соглашению опускается).

    двойной d1 = 123,4;
    // то же значение, что и d1, но в экспоненциальном представлении
    двойной d2 = 1.234e2;
    float f1 = 123.4f;
     
    Символьные и строковые литералы

    Литералы типов char и Строка может содержать любые символы Unicode (UTF-16).Если ваш редактор и файловая система позволяют это, вы можете использовать такие символы непосредственно в своем коде. Если нет, вы можете использовать «escape-последовательность Unicode», например '\ u0108' (заглавная C с циркумфлексом) или «S = Se \ u00F1or» (Sí Señor на испанском языке). Всегда используйте «одинарные кавычки» для литералов char и «двойные кавычки» для литералов String . Управляющие последовательности Unicode могут использоваться в любом месте программы (например, в именах полей), а не только в литералах char или String .

    Язык программирования Java также поддерживает несколько специальных escape-последовательностей для литералов char и String : \ b (backspace), \ t (tab), \ n (line feed), \ f (подача страницы), \ r (возврат каретки), \ " (двойные кавычки), \ ' (одинарные кавычки) и \ (обратная косая черта).

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

    Наконец, существует также особый вид литерала, называемый литералом класса , образованный путем взятия имени типа и добавления « .class» ; например, String.class .Это относится к объекту (типа , класс ), который представляет сам тип.

    Использование знаков подчеркивания в числовых литералах

    В Java SE 7 и более поздних версиях любое количество символов подчеркивания ( _ ) может находиться где угодно между цифрами в числовом литерале. Эта функция позволяет вам, например. для разделения групп цифр в числовых литералах, что может улучшить читаемость вашего кода.

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

    В следующем примере показаны другие способы использования символа подчеркивания в числовых литералах:

    long creditCardNumber = 1234_5678_9012_3456L;
    long socialSecurityNumber = 999_99_9999L;
    float pi = 3.14_15F;
    длинный hexBytes = 0xFF_EC_DE_5E;
    длинные шестнадцатеричные слова = 0xCAFE_BABE;
    длинный maxLong = 0x7fff_ffff_ffff_ffffL;
    byte nybbles = 0b0010_0101;
    длинные байты = 0b11010010_01101001_10010100_10010010;
     

    Знаки подчеркивания можно ставить только между цифрами; нельзя ставить подчеркивания в следующих местах:

    • В начале или конце числа
    • Рядом с десятичной запятой в литерале с плавающей запятой
    • До суффикса F или L
    • В позициях, где ожидается строка цифр

    В следующих примерах демонстрируются допустимые и недопустимые места подчеркивания (выделенные) в числовых литералах:

    //  Недействительно: нельзя ставить символы подчеркивания 
    //  рядом с десятичной точкой 
    поплавок pi1 = 3_. 1415F;
    //  Недействительно: нельзя ставить символы подчеркивания 
    //  рядом с десятичной точкой 
    float pi2 = 3._1415F;
    //  Недействительно: нельзя ставить символы подчеркивания 
    //  перед суффиксом L 
    long socialSecurityNumber1 = 999_99_9999_L;
    
    // ОК (десятичный литерал)
    интервал x1 = 5_2;
    //  Недействительно: нельзя ставить символы подчеркивания 
    //  В конце литерала 
    интервал x2 = 52_;
    // ОК (десятичный литерал)
    int x3 = 5_______2;
    
    //  Недействительно: нельзя ставить символы подчеркивания 
    //  в префиксе системы счисления 0x 
    int x4 = 0_x52;
    //  Недействительно: нельзя ставить символы подчеркивания 
    //  в начале числа 
    int x5 = 0x_52;
    // ОК (шестнадцатеричный литерал)
    int x6 = 0x5_2;
    //  Недействительно: нельзя ставить символы подчеркивания 
    //  в конце числа 
    int x7 = 0x52_;
     
    .

    Leave a comment