Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Как обозначаются бвоичные данные?   Найти похожие ветки 

 
Andrewtitoff ©   (2010-05-10 21:06) [0]

Добрый день, уважаемые мастера!
Вопрос банальный и может быть глупый, но никак не могу сообразить как записать число в двоичном виде... =(((
Я имею ввиду:
var
b : byte;
begin
b:=255; <- это в десятичном
b:=$FF; <- это в шецнацетиричном
А как будет в двоичном?, что то вроде
b:=11111111b; <- как-то так возможно записать?
end.


 
KilkennyCat ©   (2010-05-10 21:15) [1]

var
b : string;
....
b:="11111111b";


 
Юрий Зотов ©   (2010-05-10 21:37) [2]

> Andrewtitoff ©   (10.05.10 21:06)  

Delphi не поддерживает двоичных констант. Да и не нужно это, поскольку есть шестнадцатиричные.


 
Anatoly Podgoretsky ©   (2010-05-10 21:39) [3]

> Andrewtitoff  (10.05.2010 21:06:00)  [0]

А нафига? Займись лучше делом.


 
andrewtitoff ©   (2010-05-10 22:26) [4]

2 Юрий Зотов
Жаль...
не соглашусь, иногда надо...

2 Anatoly Podgoretsky
Просто иногда так удобнее....


 
Юрий Зотов ©   (2010-05-10 22:36) [5]

> andrewtitoff ©   (10.05.10 22:26) [4]
> не соглашусь, иногда надо...
Например?


 
Германн ©   (2010-05-10 22:42) [6]


> иногда надо...

Можно через set of.


 
Anatoly Podgoretsky ©   (2010-05-10 22:42) [7]

> andrewtitoff  (10.05.2010 22:26:04)  [4]

сonst
 b11010001 = $D1;


 
antonn ©   (2010-05-10 22:48) [8]


> Юрий Зотов ©   (10.05.10 22:36) [5]
>
> > andrewtitoff ©   (10.05.10 22:26) [4]
> > не соглашусь, иногда надо...
> Например?

когда несколько констант/переменных и нужно для каждой указать порядок бит, просто для удобства и наглядности.


 
KilkennyCat ©   (2010-05-10 23:11) [9]


> и нужно для каждой указать порядок бит, просто для удобства
> и наглядности.

для этого есть //
исходники смотрит программист, а программисту удобно и наглядно в шестнадцатеричной, можешь глянуть описания флагов генофонде, что там неудобно и ненаглядно?


 
Юрий Зотов ©   (2010-05-10 23:25) [10]


> antonn ©   (10.05.10 22:48) [8]

Когда таблица "двоичный-шестнадцатиричный" в пределах от 0000 до 1111 сидит в голове (что наступает очень быстро), то шестнадцатиричная запись не менее наглядна, но более компактная.


 
andrewtitoff ©   (2010-05-10 23:29) [11]

2 Юрий Зотов
11111 - то в принципе не так страшно, только обычно пользуются байтами - а это уже 11111111, а с этим уже сложнее, особенно когда думаешь  об одном, потом нужно вспомнить сколько 10101010 будет в шеснадцатиричной и когда сосчитаешь - уже забываешь о чем думал.... =))))


 
andrewtitoff ©   (2010-05-10 23:30) [12]

а на счет наглядности тем более несогласен, например когда работаешь с ЛПТ портом...


 
antonn ©   (2010-05-10 23:32) [13]


> для этого есть //

я сказал для удобства и наглядности. чтобы просто выставить порядок бит, а не сосчитать сколько это будет в шеснадцатеричной/десятичной и после записать значение для константы


 
KilkennyCat ©   (2010-05-10 23:32) [14]


> например когда работаешь с ЛПТ портом...

ты хотел сказать, когда лпт используют через жопу.
ибо в нормальном варианте на лпт посылаются нормальные данные, которые уже потом обрабатываются внешним устройством, а не лампочки зажигать.


 
Игорь Шевченко ©   (2010-05-11 00:41) [15]

Юрий Зотов ©   (10.05.10 23:25) [10]


> Когда таблица "двоичный-шестнадцатиричный" в пределах от
> 0000 до 1111 сидит в голове (что наступает очень быстро),
>  то шестнадцатиричная запись не менее наглядна, но более
> компактная.


А вот в ассемблерах, на которых для железа пишут, имеется (обычно) двоичная запись констант. Там наверное разработчики ни хрена в наглядности и компактности не понимают.


 
Германн ©   (2010-05-11 00:52) [16]


> А вот в ассемблерах, на которых для железа пишут, имеется
> (обычно) двоичная запись констант.

Трудно сказать для чего она там нужна, если не имеется в виду ассемблер для микропроцессоров.


 
KilkennyCat ©   (2010-05-11 01:13) [17]


>
> А вот в ассемблерах, на которых для железа пишут

да ладно, разве в х86-ом асме нет двоичного представления?
и потом, если копать еще глубже, то мы придем к только двоичному.


 
Германн ©   (2010-05-11 01:34) [18]


> KilkennyCat ©   (11.05.10 01:13) [17]
>
>
> >
> > А вот в ассемблерах, на которых для железа пишут
>
> да ладно, разве в х86-ом асме нет двоичного представления?
>

Есть конечно. Но зачем?


 
antonn ©   (2010-05-11 01:57) [19]


> Есть конечно. Но зачем?

[8]


 
Германн ©   (2010-05-11 02:23) [20]

В ассемблере?
Нафига в ассемблере для х86 нужен "порядок бит"?
Какое удобство и наглядность? Для наглядности арифметики хватает h-записи. Тут я с ЮЗ вполне согласен.
А вот если нужно на некий вывод порта микропроцессора подать конкретный сигнал, тогда да. Тогда это во многих случаях удобно.


 
Германн ©   (2010-05-11 02:57) [21]


> andrewtitoff ©   (10.05.10 23:29) [11]
>
> 2 Юрий Зотов
> 11111 - то в принципе не так страшно, только обычно пользуются
> байтами - а это уже 11111111, а с этим уже сложнее, особенно
> когда думаешь  об одном, потом нужно вспомнить сколько 10101010
> будет в шеснадцатиричной и когда сосчитаешь - уже забываешь
> о чем думал.... =))))
>

Бред.


 
Германн ©   (2010-05-11 03:25) [22]


> KilkennyCat ©   (10.05.10 23:32) [14]
>
>
> > например когда работаешь с ЛПТ портом...
>
> ты хотел сказать, когда лпт используют через жопу.

+1


 
RWolf ©   (2010-05-11 09:12) [23]

у лпт масса применений, кроме собственно связи с принтером. Так уж сложилось, что они становятся возможны только путём непосредственных манипуляций с портами. Почему это следует называть «через жопу» — не могу понять.


 
Anatoly Podgoretsky ©   (2010-05-11 09:12) [24]

> andrewtitoff  (10.05.2010 23:29:11)  [11]

AA будет и это было определено одним взглядом, только я не думал об "одном" и считать тоде не надо


 
Anatoly Podgoretsky ©   (2010-05-11 09:14) [25]


> А вот если нужно на некий вывод порта микропроцессора подать
> конкретный сигнал,

А тогда более удобны именованые битовые маски, нафига нужна двоичная запись, что бы подумать об "одном"


 
Anatoly Podgoretsky ©   (2010-05-11 09:19) [26]


> А вот в ассемблерах, на которых для железа пишут, имеется
> (обычно) двоичная запись констант. Там наверное разработчики
> ни хрена в наглядности и компактности не понимают.

Не использую практически, исключение можно по пальцам посчитать, обычно когда мне лень, а в документации приведено в двоичном виде - ну не переводить же?, поскольку тогда приходится напрягатся, думать а что же значит 00010000, я использую именованые константы, а там уже без разницы какой формат. 00010000, 10h или 16, когда явно написано, что это RxReady.


 
RWolf ©   (2010-05-11 09:33) [27]


> > например когда работаешь с ЛПТ портом...ты хотел сказать,
>  когда лпт используют через жопу.ибо в нормальном варианте
> на лпт посылаются нормальные данные, которые уже потом обрабатываются
> внешним устройством, а не лампочки зажигать.

если уж вешать внешнее устройство, то на USB.
LPT тем и удобен, что в ряде случаев позволяет обойтись без лишней логики сопряжения.


 
KilkennyCat ©   (2010-05-11 09:39) [28]


> RWolf ©   (11.05.10 09:33) [27]

ты прежде чем утверждать, подумай. Например, что такое внешнее устройство, что такое LPT и есть ли еще что-нить помимо USB, а то потом будешь утверждать всегда, что имел ввиду "ряд случаев".
Или ты из тех, кто светодиодики на лпт вешает?


 
Leonid Troyanovsky ©   (2010-05-11 09:43) [29]


> Anatoly Podgoretsky ©   (11.05.10 09:19) [26]

>  обычно когда мне лень, а в документации приведено в двоичном
> виде - ну не переводить же?, поскольку тогда приходится
> напрягатся, думать а что же значит 00010000

Я себе не доверяю, пускаю Calculator.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2010-05-11 10:17) [30]

> Leonid Troyanovsky  (11.05.2010 09:43:29)  [29]

Вот, вот и мне приходится использовать внешнии технические средства. Я уж
лучше напишу в Хекс


 
RWolf ©   (2010-05-11 10:50) [31]


> ты прежде чем утверждать,
>  подумай. Например, что такое внешнее устройство, что такое
> LPT и есть ли еще что-нить помимо USB

С учётом того, что COM и LPT ушли в прошлое, остаётся разве что Ethernet. Но его реализовать в устройстве сильно сложнее, чем USB, так что альтернатив нет.
> Или ты из тех, кто светодиодики на лпт вешает?
Чтобы прикрутить что-то к домашнему компьютеру, разумеется, использую или LPT, или COM — экономия на м/с сопряжения, проще схема, удобнее отлаживать.
На лпт у меня сейчас программатор висит — одна копеечная буферная м/с.


 
Юрий Зотов ©   (2010-05-11 13:38) [32]

> andrewtitoff ©   (10.05.10 23:29) [11]

> 11111 - то в принципе не так страшно, только обычно пользуются
> байтами - а это уже 11111111, а с этим уже сложнее, особенно когда
> думаешь  об одном, потом нужно вспомнить сколько 10101010 будет в
> шеснадцатиричной и когда сосчитаешь - уже забываешь о чем думал

Открою Вам одну страшную тайну. Считать не надо. Думать тоже не надо. Надо пользоваться тетрадами. Показываю на Вашем же примере.

10101010 содержит 2 тетрады: 1010 и 1010 - то есть, это $AA.

И так переводятся числа ЛЮБОЙ длины. Поэтому достаточно помнить таблицу от 1010 ($A) до 1111 ($F). Всего 6 строк. Что не проблема.

Хотя даже и эти 6 строк помнить не обязательно - они вычисляются за три секунды.


 
Юрий Зотов ©   (2010-05-11 13:39) [33]

> Игорь Шевченко ©   (11.05.10 00:41) [15]

> А вот в ассемблерах, на которых для железа пишут, имеется (обычно)
> двоичная запись констант. Там наверное разработчики ни хрена в
> наглядности и компактности не понимают.

Ключевое слово - ОБЫЧНО.



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

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.046 c
6-1217400351
workbench
2008-07-30 10:45
2010.08.27
TNMSMTP


15-1264415891
Ega23
2010-01-25 13:38
2010.08.27
Всех Татьян - с Татьяниным Днём!


2-1270652923
Vincero
2010-04-07 19:08
2010.08.27
Отловить состояние клавиши [Shift] при нажатии на пункт PopupMenu


3-1238738221
Cabyrc
2009-04-03 09:57
2010.08.27
ConnectionString для FoxPro


2-1270194391
Адам
2010-04-02 11:46
2010.08.27
Вопрос по PopupMenu