Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Отредактировать старший бит


Автор: Dmitry1987 24.6.2008, 11:16
Как отредактировать старший бит 31 битного значения и вывести отредактированное 31 битное значение. Т.е. к примеру из числа 1 должно получиться что-то вроде $80 00 00 01.

Автор: VICTAR 24.6.2008, 11:38
C помощью логических операций

Автор: Alexeis 24.6.2008, 11:46
Dmitry1987, установить его в единицу, сбросить или установить в некоторое значение заранее неизвестное?

Автор: Dmitry1987 24.6.2008, 11:49
Установить в значение которое я указываю (например в edit'е)

Автор: Beltar 24.6.2008, 11:51
Задаешь маску с нужным битом равным 1, остальные 0. Для установки бита делаешь число or маска, для сброса число and (not маска).

Автор: Alexeis 24.6.2008, 12:02
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  EditVal : Integer;
  Value : Integer;
begin
  EditVal := Integer(StrToInt(Edit1.Text) > 0);
  Value := (Value and not (1 shl 31)) or EditVal shl 31;
end;

Автор: Dmitry1987 24.6.2008, 12:23
Всем спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)