Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
snake_r   (2005-10-07 11:11) [0]

Здравствуйте! подскажите как пишутся двоичные константы :)
забыл как :( как шеснадцетиричные помню, а как двичные забыл  б...я :)
Const flags:Integer=......;  ?????


 
begin...end ©   (2005-10-07 11:12) [1]

В Delphi -- никак.


 
snake_r   (2005-10-07 11:16) [2]

ну вот блин :(
хотелось для наглядности написать именно в двоичном виде


 
Woolen ©   (2005-10-07 11:33) [3]


> хотелось для наглядности написать именно в двоичном виде

Для наглядности можно делать таким извращенным способом:
const
 A: Byte = 1 or 2 or 4;//Три крайних бита выставлены


 
han_malign ©   (2005-10-07 14:35) [4]


> хотелось для наглядности написать именно в двоичном виде

общепринятая практика(C(и)-образно):
const
     FLAG_0 = $00000001;
    ..............................
     FLAG_31 = $80000000;

     FLAG_FIRSTnLAST = FLAG_0 or FLAG_31;
.........................
//initialize
flags = FLAG_x or ...;
.........................
//set
flags = flags or FLAG_x;
.........................
//clear
flags = flags and not FLAG_x;
.........................
//both
if(flags and FLAG_FIRSTnLAST = FLAG_FIRSTnLAST)then ...
.........................
//any
if(flags and FLAG_FIRSTnLAST <> 0)then ...
.........................
//only
if(flags and FLAG_FIRSTnLAST = FLAG_0)then ...


а в Delphi:
type
   TFlag = (flXXX1,..., flXXX32);
   TFlags = set of TFlag;
const FirstAndLast = [flXXX1, flXXX32];
.............
flags = [fl1,...];
Include(flags, fl1);
Exclude(flags, fl1);
if(fl.. in flags)...
if(flags * [fl1,...,fl32] = FirstAndLast)...
if(flags * (FirstAndLast + [fl4]) <> [] )...
et cetera, et cetera, et cetera...

А для наглядности существуют комментарии..


 
Anatoly Podgoretsky ©   (2005-10-07 20:20) [5]

Пишутся так 101010B в предложениях DB,DW etc


 
palva ©   (2005-10-07 22:52) [6]

Free Pascal позволяет использовать префикс %

var
 i: integer;
begin
 i := %1010;
 writeln(i); // 10
end.


 
Германн ©   (2005-10-08 01:59) [7]

2 Anatoly Podgoretsky ©   (07.10.05 20:20) [5]

>Пишутся так 101010B в предложениях DB,DW etc

Если не трудно, пожалуйста дайте пример описания константы с помощью ассемблерных директив DB и DW. Ей богу, интересно. Код на ассемблере вставлял, более того, помню и inline, но то код, а вот описание? :(


 
Германн ©   (2005-10-08 02:05) [8]

Хотя прошу прощения. В сабже нет явного вопроса - "как описАть константу, используя двоичный код". :(


 
SergP.   (2005-10-08 02:52) [9]


> snake_r   (07.10.05 11:16) [2]
> ну вот блин :(
> хотелось для наглядности написать именно в двоичном виде


Для наглядности можно коментарий написать...

Const
   flags:Integer=16; //  10000


 
begin...end ©   (2005-10-08 09:22) [10]

> Германн ©   (08.10.05 01:59) [7]

Это возможно только в ассемблерных вставках. [5] не имеет отношения к исходному вопросу -- автор справшивал про обычную форму объявления констант.


 
Anatoly Podgoretsky ©   (2005-10-08 13:21) [11]

SergP.   (08.10.05 02:52) [9]
Это делается не так
const
  b00010000 = 16;



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

Форум: "Основная";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.058 c
8-1117665158
TechnoDreamer
2005-06-02 02:32
2005.10.30
Autolevels, autocolor и autocontrast


3-1126865844
V.I.P.er
2005-09-16 14:17
2005.10.30
Пароль на PARADOX7


11-1109970995
dimaxx
2005-03-05 00:16
2005.10.30
WordWrap в KOLRichEdit


14-1128699533
GrayFace
2005-10-07 19:38
2005.10.30
Аберон - что за зверь?


1-1128580294
Lirik
2005-10-06 10:31
2005.10.30
Настройки экрана





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский