![]() |
![]() ![]() ![]() ![]() |
|
Преобразование целого числа в набор битов и обратноDelphi , Синтаксис , Преобразования
Автор: Delirium
{ **** UBPFD *********** by delphibase.endimus.com ****
>>
При операциях с битовыми значениям удобно обращаться к кажджому биту,
как к элементу строки, причём так, чтобы 1-й бит - был 1-й символ строки,
а не последний.
Зависимости: Windows, SysUtils, Math
Автор: Delirium, Master_BRAIN@beep.ru, ICQ:118395746, Москва
Copyright: Delirium (Master BRAIN)
Дата: 29 мая 2002 г.
***************************************************** }
function IntToRBin32(Value: Cardinal): string;
var
i: integer;
begin
SetLength(Result, 32);
for i := 1 to 32 do
if (Value shl (i - 1)) shr 31 = 0 then
Result[33 - i] := '0'
else
Result[33 - i] := '1';
end;
function RBin32ToInt(Value: string): Cardinal;
var
i: integer;
begin
Result := 0;
for i := 1 to Length(Value) do
if Value[i] = '1' then
Result := Result + Round(IntPower(2, i - 1));
end;
Программный код на Delphi, который содержит две функции: Функция Эта функция принимает целочисленное значение как входной параметр и конвертирует его в 32-разрядную строковую представление в двоичном формате. Строка представлена в обратном порядке, то есть наименее значимый бит (LSB) хранится в начале строки, а наибольшее значимое значение (MSB) хранится в конце. Распределение функции:
Функция Эта функция принимает строковое представление в двоичном формате как входной параметр и конвертирует его обратно в целочисленное значение. Распределение функции:
Альтернативное решение: Вместо реализации этих функций с нуля можно использовать встроенные функции конвертации Delphi, такие как Например: В этом альтернативном решении С другой стороны, В статье описывается функции IntToRBin32 и RBin32ToInt, которые предназначены для преобразования целых чисел в набор битов и обратно. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Преобразования ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||