Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-74741
Tik
2002-12-10 21:41
2002.12.23
StringGrid&File


4-75049
Cosmic
2002-11-10 00:31
2002.12.23
Как закрыть другое окно?


14-74916
artemdor
2002-12-01 18:17
2002.12.23
www.delphidor.narod.ru


1-74807
TTCustomDelphiMaster
2002-12-11 15:16
2002.12.23
TAction то работает, то нет.


14-74929
AndreyAGSoft
2002-12-02 14:39
2002.12.23
Включусь в разработку





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский