Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.23;
Скачать: CL | DM;

Вниз

Двоичная константа   Найти похожие ветки 

 
Noname_   (2002-12-13 16:25) [0]

Как в Delphi задать двоичную константу (типа $AA для шестнадцатеричной)?


 
LongIsland ©   (2002-12-13 16:26) [1]

bin = "100101001";


 
Noname_   (2002-12-13 16:41) [2]

bb: Byte
.......
bb:=$aa; - корректно
bb:="10101010"; - некорректно, потому что "10101010" воспринимается как символьная строка


 
LongIsland ©   (2002-12-13 16:49) [3]


> Noname_ (13.12.02 16:41)

Дельфи не работает с двоичными константами и переменными. И задавать их надо, как строки


 
Anatoly Podgoretsky ©   (2002-12-13 16:51) [4]

В АСМ вставке можно


 
LongIsland ©   (2002-12-13 16:58) [5]


> Anatoly Podgoretsky © (13.12.02 16:51)
> В АСМ вставке можно

Угу! В разделе const?:-) Или действительно можно? (С испугом в глазах):-) Джентельмены...


 
Anatoly Podgoretsky ©   (2002-12-13 17:08) [6]

LongIsland © (13.12.02 16:58)
В любом месте АСМ вставки, например MOV eax, 10001101b
В рвзделе const нельзя, зв предалами asm end


 
LongIsland ©   (2002-12-13 17:21) [7]


> Anatoly Podgoretsky © (13.12.02 17:08)


> В любом месте АСМ вставки, например MOV eax, 10001101b

И какая же это константа?


 
Noname_   (2002-12-13 17:23) [8]

Я не спорю, что можно так:
asm
push eax
mov al,10101010b
mov [bb], al
pop eax
end;
Но овчинка выделки не стоит. Проще пересчитать в уме в шестнадцатеричную и записать: bb:=$aa;


 
Anatoly Podgoretsky ©   (2002-12-13 17:26) [9]

Ты будешь утверждать, что это переменная, обычная двоичная константа, а вот это $8D или 8Dh щестнадцатиричная, вот это 141 десятичная, вот это 215о восьмиричная.
Самые что ни на есть обычные константы.


 
Noname_   (2002-12-13 17:44) [10]

Правильно, но как переменной присвоить число, записанное в двоичном виде?


 
TTCustomDelphiMaster ©   (2002-12-13 19:48) [11]

var
Peremennaya: integer;
...
asm
Mov Peremennaya, 10101010b
end;


 
Anatoly Podgoretsky ©   (2002-12-13 20:19) [12]

Noname_ (13.12.02 17:44)
Ну зачем мудрить, почему не устраивают другие формы представления, ведь под желанием должно же быть какое то основание, Борланд просто отказался от двоичныих и восьмеричных констант, за исключением АСМ кода.


 
Fantasist ©   (2002-12-13 20:45) [13]


> Ты будешь утверждать, что это переменная, обычная двоичная
> константа, а вот это $8D или 8Dh щестнадцатиричная, вот
> это 141 десятичная, вот это 215о восьмиричная.
> Самые что ни на есть обычные константы.


Правильно, а потому и существует такое понятие как "литерал".
Константа - это константа, а последовательность симвлов, обрабатываемая компилятором и имеющая некоторое константное значение - это литерал. В Делфи для целых типов существуют десятичные и шестацитеричные литералы. Двоичных нет.


 
Yr2 ©   (2002-12-13 21:18) [14]

To Noname_
А неужели так трудно число, известное в двоичном виде, перевести в шестнадцатиричную систему, которую понимает компилятор? По-моему все программеры знают наизусть двоичный код чисел от 0 до F. Если всё же есть страх ошибиться, то пользуйтесь виндовым калькулятором в режиме "научный". Там есть переводы во все системы (и думать не надо :) ).
Что касается присвоения в теле программы значения переменной, записанной в строковом виде, то придется написать функцию, аналогичную StrToInt, толко для преобразования не из десятичной системы, а из двоичной. По-моему тоже не сложно.



Страницы: 1 вся ветка

Текущий архив: 2002.12.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
14-74919
Sergey13
2002-12-02 08:50
2002.12.23
Музыка для мобильника


1-74668
sammy
2002-12-13 07:08
2002.12.23
SetWindowsHookEx


1-74678
dimonf
2002-12-13 12:25
2002.12.23
Как работает TEvent.WaitFor?


1-74842
olookin
2002-12-12 11:05
2002.12.23
Скобки


14-74886
Smithson
2002-12-04 12:14
2002.12.23
HTML parser