Перейти к содержимому

Фото
- - - - -

Сколько тут продвинутых информатиков?


  • Вы не можете создать новую тему
  • Please log in to reply
43 ответов в этой теме

Опрос: Посчитаем? (37 пользователей проголосовало)

Сколько будет ~0 ?

  1. -2 (0 голосов [0.00%])

    Соотношение ответов: 0.00%

  2. -1 (7 голосов [18.92%])

    Соотношение ответов: 18.92%

  3. 0 (6 голосов [16.22%])

    Соотношение ответов: 16.22%

  4. 1 (11 голосов [29.73%])

    Соотношение ответов: 29.73%

  5. 2 (0 голосов [0.00%])

    Соотношение ответов: 0.00%

  6. Нахрена мне биты? На дворе 21 век! (13 голосов [35.14%])

    Соотношение ответов: 35.14%

Голосовать Гости не могут принимать участие в опросах

#1 Fors

Fors
  • Пользователь
  • 328 сообщений

Отправлено 06 Январь 2007 - 01:27

интересно, сколько еще дурней ходит по свету кроме меня?
(кто в танке "~" побитовое отрицание)

Сообщение изменено: Fors (06 Январь 2007 - 01:28 )

  • 0

#2 БугаГа

БугаГа
  • Пользователь
  • 260 сообщений
  • Откуда:-за

Отправлено 06 Январь 2007 - 08:14

1?
  • 0
First they ingore you. Then they laugh at you. Then they fight you. Then you win. © Mahatma Ghandi

#3 Акей

Акей

    Смотрит свысока

  • Постоялец
  • 2 134 сообщений

Отправлено 06 Январь 2007 - 11:31

Проголосовал за последний вариант. Но думаю что 1 получицца.
Почитал http://en.wikipedia...._operations#NOT
Все так и есть
  • 0

#4 YTPO`

YTPO`

    Dancing Banana

  • Постоялец
  • 1 849 сообщений
  • Откуда:дровишки?

Отправлено 06 Январь 2007 - 12:07

Fors,

адын палучицца.
а в чем прикол? :)
  • 0
"It's even more important than reading the bible six times or becoming a pope"

#5 Fors

Fors
  • Пользователь
  • 328 сообщений

Отправлено 06 Январь 2007 - 12:18

а в чем прикол?

ответы будут потом :)

Пока дурней хватает ;)
  • 0

#6 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 06 Январь 2007 - 12:34

Проголосовал за 1, но правильным ответом будет -1 (не поленился проверить и написал программку)

Я только одного не пойму, почему же все дурни? То, что кто-то не знает ответа ещё ни о чём не говорит. Пусть наши мозги работают не так, как процессор компьютера. Ты наверное сам неправильно ответил, теперь решил отыграться на остальных :)

Помню, на LOR'е и других крупных проектах спрашивалось, что делает простенькая строчка на перле. Строка была полная абракадабра, вроде perl oij30(*$@(8iF()UI)(# на самом деле там была "зашифрована" команда "rm -rf /" и некоторые выполняли её из под рута... последствия сами понимаете, какие :)
  • 0

#7 Fors

Fors
  • Пользователь
  • 328 сообщений

Отправлено 06 Январь 2007 - 12:42

Setor,Вот зачем было всех сдавать? :)
А дурни потому, что эта ошибка в основном возникает от незнания того, как представляются отрицательные числа в компьютере ИМХО.

Ты наверное сам неправильно ответил, теперь решил отыграться на остальных

одно утешает, таких "информатиков", как я, тут полно ;)
  • 0

#8 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 06 Январь 2007 - 12:58

Мне такое пока что не встречалось, а когда мы проходили битовые операции и вообще как работает процессор и память, я или спал или играл в пасьянс косынку на покете... чертовски скучно :(

В реальной жизни редко такое встречается, особенно, в вебе. Я использую битовые операции только для сравнения прав (идею взял из файловых систем). В крайнем случае, лёгкое шифрование при помощи XOR.

Реально же с битовыми операциями я сталкивался только в виндовс программинге, когда ковырял аудиоформаты и сетевые пакеты. По этому я считаю, что пока петух в задницу не клюнет, реально за изучение какого-то предмета я не сяду, т.к. всё быстро забывается.

Сообщение изменено: Setor (06 Январь 2007 - 14:01 )

  • 0

#9 IP Unnumbered

IP Unnumbered

    Lifeguard of the Internet

  • Постоялец
  • 1 448 сообщений

Отправлено 06 Январь 2007 - 13:17

ИМХО, ответ немного неточный. Ведь в С, например, есть signed/unsigned...

Кому интересно -

http://en.wikipedia....wo's_complement

и

http://www.hal-pc.or...complement.html

Здесь подробно, каким образом -1 получается.

Сообщение изменено: IP Unnumbered (06 Январь 2007 - 13:17 )

  • 0
Знание некоторых принципов освобождает от необходимости знать многие факты.

Arbeit macht frei

#10 Fors

Fors
  • Пользователь
  • 328 сообщений

Отправлено 06 Январь 2007 - 13:21

Ведь в С есть signed/unsigned...

без привязки к языку создавал тему
  • 0

#11 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 06 Январь 2007 - 13:45

зависит от типа

unsigned a = 0;
	int b = 0;
	
	printf("%u %d", ~a, ~b);

output: 4294967295 -1

  • 0
int main(void)

#12 libricon

libricon
  • Постоялец
  • 572 сообщений
  • Откуда:Маарду

Отправлено 06 Январь 2007 - 15:02

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

голосоваал за 1.

хоть -1 правлеьнее, .относительно
  • 0
Пингвин птица гордая, пока не пнешь, не полетит!!!

#13 Fors

Fors
  • Пользователь
  • 328 сообщений

Отправлено 06 Январь 2007 - 16:17

зависит от типа

читаем внимательно вопрос :)

не было переменных в вопросе. Поэтому ответ должен быть четким ;)
  • 0

#14 libricon

libricon
  • Постоялец
  • 572 сообщений
  • Откуда:Маарду

Отправлено 06 Январь 2007 - 16:25

тогда никак, ибо в си тип надо задать обезательно, и без этого никуда
  • 0
Пингвин птица гордая, пока не пнешь, не полетит!!!

#15 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 06 Январь 2007 - 16:33

в вопросе не указан способ хранения битов и их максимальное количество
  • 0
int main(void)

#16 Fors

Fors
  • Пользователь
  • 328 сообщений

Отправлено 06 Январь 2007 - 16:45

в вопросе не указан способ хранения битов и их максимальное количество

да там вообще много чего не указано... расположение планет относительно Земли например.

Надо исходить из условий задачи. И вообще будь проще в этом плане, и все в твоей жизни будет проще ;)

тогда никак, ибо в си тип надо задать обезательно, и без этого никуда

хм... т.е для числовых констант, которые даже не являются переменными я должен указывать тип? Это где такие компилляторы используют?
пробуй так принтф("%d",~0);
  • 0

#17 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 06 Январь 2007 - 16:48

тема бред
  • 0
int main(void)

#18 libricon

libricon
  • Постоялец
  • 572 сообщений
  • Откуда:Маарду

Отправлено 06 Январь 2007 - 17:01

литералам не надо.
  • 0
Пингвин птица гордая, пока не пнешь, не полетит!!!

#19 IP Unnumbered

IP Unnumbered

    Lifeguard of the Internet

  • Постоялец
  • 1 448 сообщений

Отправлено 06 Январь 2007 - 17:08

С подходом "надо быть проще" правильным ответом будет "Нахрена мне биты - калькулятор в винде рулит".
  • 0
Знание некоторых принципов освобождает от необходимости знать многие факты.

Arbeit macht frei

#20 libricon

libricon
  • Постоялец
  • 572 сообщений
  • Откуда:Маарду

Отправлено 06 Январь 2007 - 17:19

компилятор микроконтроллера выдал 255
:D
  • 0
Пингвин птица гордая, пока не пнешь, не полетит!!!

#21 Sergio

Sergio
  • Постоялец
  • 2 987 сообщений

Отправлено 06 Январь 2007 - 17:23

А разрядность числа какая? От этого и ответ зависит. Т.е. при разрядности 1 бит будет 1, при разрядности 2 бита будет 3 и т.д. При разрядности 16 бит получится 65535. Насчет -1. Такое возможно только если старший бит отвечает за знак числа, такое далеко не в каждой архитектуре принято (А в си, например, как уже говорилось, это указывается при объявлении переменной). Так что в общем случае это неверно. Хотя может быть и такое, что -1 тоже будет правильным ответом.
Так что уточни условия, иначе постановка задачи некорректная.

Или я тоже к дурням отношусь и чего-то не понимаю?
  • 0

#22 Fors

Fors
  • Пользователь
  • 328 сообщений

Отправлено 06 Январь 2007 - 17:50

еще раз повторюсь - это просто прикол такой. Расслабтесь господа. :)

Прикол был отловлен при подготовке к экзамену по С.

Вот весь текст задачи :
Найти значение Х, указать порядок действий.
x = 1 & ~ 0 > 0 ^ 1 ? 1 << 2 : 1 >> 2;

(причем, кто сдавал подобные экзамены должен знать, что надо исходить только из условий задачи, остальное можно определить как не относящееся к делу)

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

Сообщение изменено: Fors (06 Январь 2007 - 17:51 )

  • 0

#23 Sergio

Sergio
  • Постоялец
  • 2 987 сообщений

Отправлено 06 Январь 2007 - 18:41

Ну так и писал бы тогда.
Поскольку значение выражения например 1 & ~ 0 определено однозначно и от разрядности не зависит. По крайней мере, в С. То есть постановка полной задачи корректная, а твоей упрощенной некорректная.

Наверное я от Нового года не отошел еще, но прикола не понял.

P.S. Сходу полную задачу решить наверно не смогу, без справочника.
  • 0

#24 libricon

libricon
  • Постоялец
  • 572 сообщений
  • Откуда:Маарду

Отправлено 06 Январь 2007 - 18:56

а у меня вопрос, а нах надо?

у меня из-за лени осталась привычка, скобки ставить
  • 0
Пингвин птица гордая, пока не пнешь, не полетит!!!

#25 Fors

Fors
  • Пользователь
  • 328 сообщений

Отправлено 06 Январь 2007 - 19:18

а у меня вопрос, а нах надо?

это преподу надо. В принципе знать приоритеты операций полезно. Даже если пользуешься скобками.
  • 0

#26 Sergio

Sergio
  • Постоялец
  • 2 987 сообщений

Отправлено 07 Январь 2007 - 06:29

Поскольку значение выражения например 1 & ~ 0 определено однозначно и от разрядности не зависит.

Вот тут я, кажется, ошибся. Побитовое и логическое "и" перепутал. Но в любом случае, результат операции сравнения ">" будет либо 0, либо 1.
  • 0

#27 Fors

Fors
  • Пользователь
  • 328 сообщений

Отправлено 07 Январь 2007 - 13:03

Вот тут я, кажется, ошибся.

с приоритетами тоже ошибся ;) Этот кусок не будет выполняться вместе
  • 0

#28 icelord

icelord

    icelord@forum.ee

  • Постоялец
  • 2 752 сообщений
  • Откуда:Eestimaa

Отправлено 08 Январь 2007 - 01:44

Наугад проголосовал за -1
  • 0

#29 МальчикБананан

МальчикБананан
  • Пользователь
  • 370 сообщений

Отправлено 09 Январь 2007 - 17:36

Я хоть и на программиста заканчиваю, но мне всё равно сколько будет ~0. За это деньги не платят :lol:

Так же я хотел класть на Паскаль и Ассемблер.

Сообщение изменено: Битник (09 Январь 2007 - 17:37 )

  • 0

#30 Sergio

Sergio
  • Постоялец
  • 2 987 сообщений

Отправлено 09 Январь 2007 - 20:00

Я хоть и на программиста заканчиваю, но мне всё равно сколько будет ~0. За это деньги не платят :lol

Извини, конечно, но плохой из тебя программист будет, если ты не знаешь, что такое логическая функция и побитовые операции. И платят за это деньги, еще как платят.
Про паскаль ничего не скажу, а ассемблер рулить еще долго будет. Как и Си.
P.S. К PHP-программистам, HTML-программистам и Web-дизайнерам все вышесказанное не относится.
  • 0