реклама на сайте
подробности

 
 
6 страниц V  « < 4 5 6  
Reply to this topicStart new topic
> Как последовательно вытаскивать биты из массива?
AHTOXA
сообщение Jan 25 2011, 06:10
Сообщение #76


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(777777 @ Jan 25 2011, 10:53) *
Мелочь, конечно, но...

Да-да, я в курсе. "Крутой Профессионал С Большой Буквы ™" lol.gif
Цитата
Это называется "перевернуть с ног на голову". Си как раз тем и лучше паскаля, что там битовая маска может быть переменной цикла! А паскалю это недоступно - приходится водит еще одну абсолютно ненужную переменную.

Это называется - "по теме (помочь новичку) было сказать нечего, зато умею ненавидеть паскаль". А ведь на самом деле непонимание было совершенно не связано с паскалем (как это потом явно подтвердил сам автор темы). Но вы продолжили поносить паскаль...
Цитата
Да, можете считать это чем угодно, но могу еще раз повторить: паскаль - ненавижу за его дубовость и неповоротливость и будь моя воля, я бы запретил изучение программирования по паскалю.
Вы уже показали, что не знакомы с предметом своей ненависти, зачем же продолжать позориться? Ведь с каждым вашим постом становится всё более очевидным, что вы поёте с чужих слов, в надежде показаться "Профессионалом С Большой Буквы". Поверьте, это тщетные старания, настоящего профессионала видно не по его крутым суждениям, а по его практическим знаниям. А этого у вас, увы, пока не замечено.

Цитата(_Bill @ Jan 25 2011, 10:54) *
Так что спорить тут не о чем. Или нет?

Вообще-то сравнение шло не "автор паскаля vs авторы си", а "777777 vs автор паскаля". Как думаете, кто более профессионален? sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
777777
сообщение Jan 25 2011, 06:14
Сообщение #77


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(AHTOXA @ Jan 25 2011, 09:08) *
Это называется - "по теме (помочь новичку) было сказать нечего

Нечего? То есть писать (1<<j) - это по-вашему нормально? Пусть компилятор генерирует цикл сдвигающий единицу, ничего страшного?


Цитата(AHTOXA @ Jan 25 2011, 09:10) *
Вообще-то сравнение шло не "автор паскаля vs авторы си", а "777777 vs автор паскаля". Как думаете, кто более профессионален? sm.gif

Вообще-то сравнение шло "паскаль" vs "си", а все осталное - ваши фантазии и попытки перехода на личности.
Go to the top of the page
 
+Quote Post
_Bill
сообщение Jan 25 2011, 06:26
Сообщение #78


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(777777 @ Jan 25 2011, 10:07) *
Кто бы спорил.

Поначалу это были конкурирующие языки с одним и тем же назначением. Но после того, как стало ясно, что паскаль сливает по всем параметрам, Вирт, чтобы не потерять рынок, начал заливать, что он, мол, с самого начала создавал его для обучения. На самом же деле для обучения он как раз и не подходит, так как отучает студета от гибкости, заталкивает его в узкие рамки и поэтому когда он переходит на Си, он просто не знает о том, что тех рамок уже нет, что можно сделать быстрее и проще.

Совсем нет. Когда Вирт придумал Паскаль и стал его использовать в своей преподавательской деятельности, для языка и компилятора не существовало. Компилятор с Паскаля появился позже, когда возникла необходимость в реально работающих программах. Если говорить о целях, то Паскаль являлся сильно типизированным языком, со строгой проверкой типов. Это позволяло избегать двусмысленностей в конструкциях. Си же напротив, многое возлагал на самих программистов, изначально в Си отсутствовала проверка типов. При этом многие конструкции языка были ориентированы на упрощение кодирования и генерирования более эффективного кода.
PS: Интересно отметить, что первый компилятор с Паскаля появился на "больших" машинах типа CDC и IBM. А первый компилятор с Си был написан для мини-ЭВМ типа Interdata, PDP. Это тоже о многом говорит.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 25 2011, 06:29
Сообщение #79


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(777777 @ Jan 25 2011, 11:14) *
Нечего? То есть писать (1<<j) - это по-вашему нормально? Пусть компилятор генерирует цикл сдвигающий единицу, ничего страшного?

Да, это нормально. Для начинающего вполне допустимо жертвовать производительностью в пользу наглядности. Сначала надо понять, как это работает вообще, а уже потом заниматься оптимизацией.
Цитата(777777 @ Jan 25 2011, 11:14) *
Вообще-то сравнение шло "паскаль" vs "си", а все осталное - ваши фантазии и попытки перехода на личности.
Вообще-то речь шла вот об этой цитате:
Цитата(GetSmart @ Jan 24 2011, 22:43) *
Себе посочувствуйте..
Паскаль придумал Профессионал с большой буквы в 100! раз продвинутее вас. Идите нервно курить в сторонке sm.gif

и в ней речь идёт именно о сравнении вас и автора паскаля.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 25 2011, 06:45
Сообщение #80


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(777777 @ Jan 25 2011, 11:14) *
Вообще-то сравнение шло "паскаль" vs "си", а все осталное - ваши фантазии и попытки перехода на личности.

Чтобы открыто критиковать, а точнее просто срать на Паскаль, нужно сперва придумать что-то сравнимо значимое. А то это похоже это на лай дворняжки. Лично вы - никто в сравнении с теми, кто придумывал и Паскаль, ну и Си в придачу.

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

Цитата(_Bill @ Jan 25 2011, 10:54) *
Так что спорить тут не о чем. Или нет?

Наш/мой спор ведь не об этом. Так что есть.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
777777
сообщение Jan 25 2011, 06:47
Сообщение #81


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(AHTOXA @ Jan 25 2011, 09:29) *
Вообще-то речь шла вот об этой цитате:

Жаль что это не моя цитата
Цитата(AHTOXA @ Jan 25 2011, 09:29) *
и в ней речь идёт именно о сравнении вас и автора паскаля.

Вот именно - речь идет о переходе на личности
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 25 2011, 06:54
Сообщение #82


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(777777 @ Jan 25 2011, 11:47) *
Жаль что это не моя цитата

Так и ответ был не вам. Вы хоть читайте внимательно что ли.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
777777
сообщение Jan 25 2011, 06:56
Сообщение #83


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(GetSmart @ Jan 25 2011, 09:45) *
Чтобы открыто критиковать, а точнее просто срать на Паскаль, нужно сперва придумать что-то сравнимо значимое.

Забавное суждение. Значит вы пользуетесь плохими инструментами, покупаете бракованные микросхемы и для разводки плат выбираете худшую программу потому что сами даже такого не можете сделать? Я-то стараюсь выбрать лучшее, даже когда сам не могу сделать и худшее.
Цитата(GetSmart @ Jan 25 2011, 09:45) *
А уж периодически читая чушь, которую вы пишете в других ветках мне захотелось хотя бы в этой ветке высказаться о вашем уровне суждений.

А надо было там, где эта "чушь" была. А сейчас это действительно выглядит как лай дворняжки.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 25 2011, 07:05
Сообщение #84


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(777777 @ Jan 25 2011, 11:56) *
А надо было там, где эта "чушь" была. А сейчас это действительно выглядит как лай дворняжки.

Всё нормально. Здесь она была самая большая.

Цитата(777777 @ Jan 25 2011, 11:56) *
Забавное суждение. Значит вы пользуетесь плохими инструментами,

Дальше этой дури читать смысла нет. С самого начала Паскаль активно использовался в обучении программированию. И тут приходит супер-мега-профи 777777 и говорит всем, что они недоумки. Если это мега-открытие, до которого не додумались тысячи-десятки/сотни людей, то за это полюбому надо вручить Нобеля biggrin.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 25 2011, 08:51
Сообщение #85


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Хрен с ним, с паскалем, лишь бы человек был хороший sm.gif
Насчет оптимизаций. Ну хватит делать ручную работу там, где можно автоматиццки. И на паскале конструкцию типа
Код
for j:= 0 to 7 do
begin
d := d or (1 shl j);
end;

компилер обязан привести в нормальный вид, и на сях подобные штучки оптимизируются за редким исключением. И все это поступательно движется в одном направлении: пока прграммеры тупеют, компиляторы умнеют. Шо сделаешь, диалектика.
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Jan 25 2011, 18:15
Сообщение #86


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Цитата
Код
(1 shl j)
компилер обязан привести в нормальный вид
на авр тоже? Ну не знаю...Мне кажется наоборот - не приведут в нормальный вид за редким исключением....


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
_Bill
сообщение Jan 25 2011, 18:21
Сообщение #87


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(sigmaN @ Jan 25 2011, 22:15) *
на авр тоже? Ну не знаю...Мне кажется наоборот - не приведут в нормальный вид за редким исключением....

И на AVR тоже. Просто оператор shl в Паскале не является стандартным. Это - расширение.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 26 2011, 07:11
Сообщение #88


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(sigmaN @ Jan 25 2011, 22:15) *
на авр тоже? Ну не знаю...Мне кажется наоборот - не приведут в нормальный вид за редким исключением....

Причем тут целевая машина? Посмотрите, например, PMP pascal - очень прилично для пиков.
Есть где-то для армоводов - зачат, но до половой зрелости как до луны пешком.
Кстати, Керниган когда писал свое "за что я не люблю паскаль" - в основном говорил о негибком FOR, и о том, что внутри блока низзя объявлять переменные, ... а, ну и о том, что нет статических переменных.
Извините за кривой почерк оффтоп sm.gif
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Jan 26 2011, 09:54
Сообщение #89


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



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


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 26 2011, 12:32
Сообщение #90


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(sigmaN @ Jan 26 2011, 12:54) *
а тут получается надо сдвигать более чем на один бит.

Все, я понял. Вы просто вырвали из приведенного контекста (1 shl j), в то время как я привел цикл, для того, чтобы сказать, что компилер увидит, что переменная цикла "монотонно" возрастает и в выражении сдвига кроме нее других переменных нету, и просто заменит на операцию сдвига на 1 разряд в каждой итерации цикла. Вот я и говорил, что в Winavr такое уже есть, по факту гуанокод оптимизировался именно так.
Go to the top of the page
 
+Quote Post

6 страниц V  « < 4 5 6
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 14:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01501 секунд с 7
ELECTRONIX ©2004-2016