Главная страница
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.5 MB
Время: 0.018 c
3-74589
Gaber
2002-12-04 12:48
2002.12.23
EXEL & DB


3-74602
xenon
2002-12-04 15:46
2002.12.23
Обработка сообщений сервера


14-74953
NeyroSpace
2002-12-02 10:56
2002.12.23
Скрипт Паскаль? Существует ли он или прийдется писать самому?


6-74870
bartov
2002-10-28 18:49
2002.12.23
RAS


14-74942
Snap
2002-11-20 14:23
2002.12.23
Фонть