Текущий архив: 2005.10.30;
Скачать: CL | DM;
ВнизДвоичные константы Найти похожие ветки
← →
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:et cetera, et cetera, et cetera...
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]) <> [] )...
А для наглядности существуют комментарии..
← →
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;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.039 c