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

BINTOC(nExpression [, eFlags])

Параметры

nExpression

Определяет величину, для преобразования. Если eFlags равняется 1, 2 или 4, то величина принимается целым числом. В противном случае, тип данных выражения основывается на основание eFlags.

eFlags

Определяет длину в возвращаемой символьной строки.

eFlags Определяет величину, которую Вы можете определить для nExpression. eFlags может быть числовым или символьным. Следующая таблица включает допустимые величины для eFlags и соответствующего дипазона величин для nExpression:

eFlags Диапазон nExpression

1

от –128 до 127

2

от –32,768 до 32,767

4

от –2,147,483,648 до 2,147,483,647

По умолчанию.

8

Диапазон nExpression зависит от своего типа. Только numeric, float, double, и валютные типы данных поддерживаются этой опцией. Смотри Данные Visual FoxPro и Типы данных для определения областей numeric, float, double, и валютных типов данных.

BINTOC( ) возвращает 8 байтов при этом значение.

F

nExpression интерпретирован как Float тип и BINTOC( ) возвращает 4 байта.

B

nExpression интерпретирован как Double Тип и BINTOC( ) возвращает 8 байтов.

R

Перевернуть получающиеся двоичное выражение.

S

не допускать установки знакового бита числа от существующего переключения (BITXOR).

Если этот параметр пропущен, BINTOC( ), возвращает символьную строку сформированную из четырех символов.

Expand imageВозвращаемое значение

Символьное. BINTOC( ) возвращает двоичное символьное выражение.

Expand imageЗамечания

Параметр eFlags может или быть числовым или символьным. 'R' и 'S' являются добавочными тогда как другие - взаимно исключающими параметрами. Символьные параметры можно задавать в верхнем или нижнем регистре (напр, 'R' или 'r'). Следующие примеры показывают различное использование параметра eFlags

  CopyCode imageКопировать пример
? BINTOC(1,1)
? BINTOC(1000,"2")&& также, как BINTOC(1000,2)
? BINTOC($12.34,8)
? BINTOC(1, "4RS")&& также, как BINTOC(1,"RS")
? BINTOC(-100, "Fr")

Вы можете использовать BINTOC( ), чтобы уменьшить размер индексов для числовых областей, содержащих целые данные, передавая числовой параметр eFlags. Например, числовая область названа nPartCode и может содержать целую величину от 1 до 32767, которая переписывается в инструкцию по классификации частей. BINTOC( ), позволяет Вам преобразовывать величину в числовую область в меньшее символьное представление. Например, следующие команды создадут индекс с двух-символьным индексным ключом:

  CopyCode imageКопировать пример
INDEX ON BINTOC(nPartCode,2) TAG PartCode

При использовании BINTOC( ) для создания 8 байтовых индексов, Вы должны использовать 8 а не "B". Для 4 байтовых результатов, Вы должны использовать 4 если nExpression - целого типа. В противном случае, Вы должны использовать 'F' для floating типа.

BINTOC( ) может также использоваться, для работы с програмным интерфейсом приложения Win32, для преобразования в или от Win32 структурных данных. Когда BINTOC( ) используется для индексации, он должен должным образом обращаться с отрицательными числами для получающегося двойного выражения. Это достигается использованием операции BITXOR на высоком бите. Это также означает, что самый существенный байт является первым.Для Win32 api функций на intel платформах, архитектура которых следует правилу "последний значимый байт" - когда младший знаковый байт хранится в памяти первый (распологается в ячейке памяти с младшим адресом). Параметры настройки 'R' и 'S' позволяют Вам использовать BINTOC( ), чтобы работать более эффективно с программами использующие структуры.

Expand imageСмотрите также