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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.058 c
15-1265232226
Ega23
2010-02-04 00:23
2010.08.27
Кто знает песню?


9-1183800215
@!!ex
2007-07-07 13:23
2010.08.27
Взрыв машины.


2-1271764256
JohnKorsh
2010-04-20 15:50
2010.08.27
Почему методы Registry, работающие в XP не работают в Vista?


4-1235818874
Denied
2009-02-28 14:01
2010.08.27
Хуки и PostMessage в Vista


11-1218532817
Jon
2008-08-12 13:20
2010.08.27
Position message box





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