Форум: "Начинающим";
Текущий архив: 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.06 c