Форум: "Основная";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];
ВнизДвоичная константа Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c