Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

polevoy_cpp_2012_spring_lecture_12

.pdf
Скачиваний:
8
Добавлен:
20.04.2015
Размер:
203.05 Кб
Скачать

Объектно-ориентированное программирование

с использованием C++

Полевой Дмитрий Валерьевич к.т.н., доцент КиК

e-mail: oop.misis@gmail.com

Машинное слово

платформозависимая хар-ка

имеет неоднозначную интерпретацию (исторически)

байт – единица адресации

слово – несколько байт (обычно 2n)

28.04.2012

cppNewb.ru

2

Длинна машинного слова

процессор

разрядность данных

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

беззнакового целого типа

память

разрядность адресуемых данных (шина данных)

объем адресуемой напрямую памяти

28.04.2012

cppNewb.ru

3

Порядок байтов

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

28.04.2012

cppNewb.ru

4

big-endian

от старшего к младшему

является стандартным для протоколов

TCP/IP (сетевой, network order)

пример:

0x00000b0f

0x00

0x00

0x0b

0x0f

 

 

 

 

28.04.2012

cppNewb.ru

5

little-endian

от младшего к старшему

является стандартным для x86

пример:

0x00000b0f

0x0f

0x0b

0x00

0x00

 

 

 

 

28.04.2012

cppNewb.ru

6

Когда порядок байтов важен

передача данных через файлы

передача данных через сеть

низкоуровневые алгоритмы

манипуляции данными (уровня байт и бит)

28.04.2012

cppNewb.ru

7

Целые числа

для знаковых за знак отвечает разряд старшего байта

28.04.2012

cppNewb.ru

8

Вещественные числа

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

на x86 используются форматы

IEEE 754

знак числа в старших байтах

порядок числа в старших байтах

28.04.2012

cppNewb.ru

9

Плюсы и минусы

+ little-endian

как uint32_t (4 байта) – 0x00000022 как uint16_t (2 байта) – 0x0022

как uint8_t (1 байт) – 0x22

- little-endian

отладочное/печатное значение не совпадает с размещением в памяти

28.04.2012

cppNewb.ru

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]