Главная » Статьи для тега "unsigned"

Другие поразрядные операторы Objective-C

Добавлено Дата: 19 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Для полноты картины также следует упомянуть о других поразрядных операторах. Они реже используются в Objective-C, но знать о них полезно.

Исключающая операция ИЛИ

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

Читать »

Поразрядная операция И Objective-C

Добавлено Дата: 23 April, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

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

Читать »

Компрессия ?-Law для телефонных систем

Добавлено Дата: 17 May, 2012 категория: Программирование звука

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

Модуль Types

Добавлено Дата: 16 May, 2012 категория: Haskell

В модуле Types описываются проекции некоторых типов языка C в соответствующие типы языка Haskell. Использование:

import  Foreign.C.Types

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

Читать »

Чтение файлов AIFF

Добавлено Дата: 13 May, 2012 категория: Программирование звука

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

Читать »

Дескриптор памяти

Добавлено Дата: 12 May, 2012 категория: Ядро Linux

Ядро представляет адресное пространство процесса в виде структуры данных, которая называется  дескриптором памяти. Эта  структура содержит всю  информацию, которая относится к  адресному пространству процесса. представляется с  помощью  структуры  struc t   mm_struct,  которая определена в  файле

Читать »

Управление памятью в ядре Linux

Добавлено Дата: 12 May, 2012 категория: Ядро Linux

Таблица 11.1 . Зоны памяти для аппаратной платформы х86

Зона

Описание

Читать »

Компрессия ?-Law Реализация методов кодировки мю-типа

Добавлено Дата: 6 May, 2012 категория: Программирование звука

B  Соединенных  Штатах  наибольшее  распространение  получила  так  называемая  кодировка  мю-muna  (иногда  пишется  u-Law  или  mu-Law).  Чтобы  не  усложнять  записи  формул,  будем  считать,  что  все  моментальные  значения  представляютсобой дробные числа в диапазоне от -1 до +1.
Читать »

Функцииmmap() и do_mmap(): создание интервала адресов

Добавлено Дата: 4 May, 2012 категория: Ядро Linux

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

Читать »

Класс WaveRead

Добавлено Дата: 3 May, 2012 категория: Программирование звука

Как и для других файловых форматов, для работы с форматом WAVE определите  отдельный  класс  WaveRead.  Чтобы  воспользоваться  этим  классом,  откройте файл и проинициализируйте этим файлом новый объект класса WaveRead.

Задача WaveRead, как и большей части файловых классов, заключается  в том,

Читать »

Чтение файлов формата IFF/8SVX

Добавлено Дата: 3 May, 2012 категория: Программирование звука

Определим единственный класс IffRead. Чтобы использовать его, откройте файл и проинициализируйте новый объект  IffRead открытым файлом.

Листинг 19.2. Программа iff.h

#include "audio.h"

#include "compress.h"

Читать »

Объект file

Добавлено Дата: 1 May, 2012 категория: Ядро Linux

Последним  из основных объектов подсистемы VFS рассмотрим объект файла. Объект File используется для представления файлов, которые открыты процессом. Когда мы думаем о  подсистеме VFS с  точки зрения пространства пользователя, то объект файла — это то, что первое приходит в  голову. Процессы непосредственно работают с файлами, а не с суперблоками, индексами или элементами каталогов. Не удивительно, что информация,  которая содержится в объекте file, наиболее привычна (такие данные, как режим доступа или текущее смещение), а файловые операции очень похожи на знакомые системные вызовы, такие как rea d ()  и writ e ().

Читать »

Дескриптор процесса и структура task structure

Добавлено Дата: 26 April, 2012 категория: Ядро Linux

Ядро хранит  информацию о всех процессах в двухсвязном списке, который называется task list3  (список задач). Каждый элемент этого списка является дескриптором процесса и имеет тип структуры  struc t  task_struct , которая описана в файле include/linux/sched.h . Дескриптор процесса содержит всю  информацию об определенном процессе.

Читать »

Исследование и тестирование системы

Добавлено Дата: 13 April, 2012 категория: Ядро Linux

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

Читать »

Файлы формата Standard MIDI

Добавлено Дата: 11 April, 2012 категория: Программирование звука

Файл  MIDI  представляет  собой  последовательность  блоков  данных.  Эти  блоки имеют такой же основной формат, что и блоки, используемые в форматах AIFF, IFF  и WAVE.  Каждая  область  содержит  четырехсимвольное  поле  типа,  4-байтный код длины (в формате MSB) и данные. Однако в противоположность другим форматам блоки MIDI не вкладываются друг в друга.

Читать »