Jump to content

underW

Newbie
  • Posts

    24
  • Joined

  • Last visited

Everything posted by underW

  1. ну вообще то я согласен, если смотреть со стороны РНР - то это мой чистейший провал, согласен Если смотреть со стороны фундаментального программирования, без привязки к конкретному языку - то все нормально Veseloff, Вы абсолютно правы, все опирается в два варианта записи нуля. На самом деле имеем такую картину: есть у нас 1 байт - 8 бит, в этот объем мы можем запихнуть одно из 256 значений с диапазона [0-255] и это для безнаковых чисел. Для знаковых чисел мы определяем старший бит как знаковый и само число записываем в оставшиеся 7 бит, так как есть только 7 бит, значит к-во значений, которые мы можем записать ровно в 2 раза меньше от кого количества, когда мы работаем с 8 битами: 256/2=128; само число будет принадлежать диапазону [0-127]. При переходе к отрицательным числам, первое отрицательное число, на которое мы попадаем будет 1|000 0000 - то есть это (-0). Понятие отрицательного нуля (-0) так же как и положительного нуля (+0) существует в математике, но это все скорее некие абстракции и они нам не нужны smile Поэтому в ДК отрицательный ноль выбрасывается и даже не рассматривается, вместо него просто вводиться еще одно дополнительное число (-128). Вот как оно туда помещается и на выходе переменная типа byte вмещает в себя значение от (-128) до (127). Все, вопрос решен.
  2. Если посмотреть любой язык программирования, в том числе и на PHP, то в нем переменная типа byte может содержать значение из диапазона от (-128) до (127) включительно. Суть вопроса заключается в том, что как в 1байт (8 бит) впихивается число (-128)??? Если рассматривать прямой код, то в нем при 8 битах старший бит является знаковым, а остальные 7 бит отводятся для записи самого числа, при таком раскладе, максимальным положительным числом будет - 0|1111111 (127), максимальным отрицательным числом будет - 1|1111111 (-127). Становиться вполне очевидным, что при использовании прямого кода для записи чисел со знаком в 1байт можно поместить значение из диапазона (-127) до (127). Но, Архитектура х86 для записи отрицательных чисел использует так называемый дополнительный код (ДК). Получается, что при использовании именно ДК, мы можем работать с диапазоном от (-128) до (127). Самый популярный пример алгоритма перевода в ДК, который мне удалось нагуглить, заключаеться в следующем: Для перевода десятичного числа со знаком в двоичное необходимо сначала записать его в двоичном виде. Если число отрицательное, то нужно получить обратный код (1 заменить на 0 и наоборот) и прибавить единицу к полученному результату. или другими словами, более лаконично: 1. записать прямой код модуля числа; 2. инвертировать его (заменить единицы нулями, нули — единицами); 3. прибавить к инверсному коду единицу. Пример: двоичный код +11 инверсия +1 -11 ————> 0000 1011 —-> 1111 0100 —> 1111 0101 В приведенном примере дополнительным кодом числа 1011 является 11110101. Знаковый бит 1 означает, что рассматриваемое число отрицательно. Исходя из такого алгоритма, вообще становиться не понятным откуда берется ограничение на (-128): в 1 пункте сразу же сказано - записать прямой код модуля числа - в 1 байт влезет не то что модуль (-128) но и модуль (-255). Но если учесть ту особенность ДК при записи отрицательного числа, что знаковый бит всегда равен 1 и немного поэкспериментировав с ним, становится видно, что только при работе с отрицательными числами до (-128) включительно, знаковый бит равен 1, если ити дальше (-129), (-130) - то знаковый бит получаем 0, то есть мы наталкиваемся на ошибку. Неужели этим и объясняется диапазон от (-128) до (127)? А теперь гляну на еще один алгоритм определения ДК: то есть алгоритм остается тот же самый, только пример другой: Для числа -1101(-13): Прямой код 1|0001101 Обратный код 1|1110010 Дополнительный код 1|1110011 Судя из этого примера, ДК формируется на основе обратного кода, тот в свою очередь формируется на прямом коде. Посмотрим, как у нас записан прямой код: 1|0001101 - видим, что старший бит отведен для записи знака, остальные 7 - для записи самого числа, значит мы снова наталкиваемся на диапазон от (-127) до (127) и опять не можем вместить (-128). Вот собственно вопрос остается открытым, как же влазит (-128) и 1 байт?
  3. вопрос решен. Great Rash, спасибо.
  4. ну я вот тоже думал о такой реализации, а потом решил, что должно быть по идее и более элегантное решение сейчас пойду попробую хоть это
  5. в пределах <fieldset> есть набор однотипных div все они расположены в столбик один под одним, кроме одного - который расположен справа- точнее в верхнем правом углу, это за счет установки свойства float:right; все чудненько, а теперь вот необходимо под этим дивом установить еще один такой же, как я не мудровал с float, clear, ничего не получилось, они размещаются друг возле друга, а не один над другим, подскажите, пожалуйста, как сделать правильно.
  6. Dimitry Wolotko, что б поржать?
  7. да тут же суть в том, что нужно как можно быстрее, но и не в ущерб качеству... как то сейчас больше склоняюсь к варианту не спать всю ночь, эх!
  8. Стоит задача реализации каталога цветочного магазина. В каталоге должно содержаться описание растений упорядоченных по категориям(семейство кактусы, семейство семи цветиков). Минимальный функционал: просто отображение растений, +админка с возможностью редактирования описаний и фоток. Каталог должен быть готов на вчера. Теперь сам вопрос: может стоит просто поискать готовый простенький скрипт каталога? (поделитесь ссылкой) Или может получиться и самому за ночь какое то подобие написать?
  9. ребят, спасибо, разобрался
  10. LokiDi L0ck, уже неоднократно натыкаюсь на пример с рисованием фигур. Откуда он взят, какой первоисточник? Int, ооооо, вот, вот, вот, что то в этом плане я и хотел услышать
  11. Сейчас вот стал более глубоко вникать в ООП в PHP, так вот: Абстрактные классы и методы Абстрактные методы имеют только объявление и не имеют реализации. Класс, который содержит такие методы, должен быть обязательно объявлен как абстрактный: <? abstract class MyClass { abstract public function fn(); } ?> Это все понятно, как объявлять и что это такое, НО ну никак не могу понять, зачеееем они надо???? Вот нашел такую цитату: А зачем тогда нужны абстрактные методы и классы? А чтобы описать объект, который будет реализован, но который еще не реализован. Зачем описывать объект, который будет реализован, но еще не реализован? В чем суть абстрактного класса??? Можно объяснить на пальцах? Спасибо.
  12. underW

    мини-чат

    тоесть? не,не оно же начальство какое же тут сам
  13. underW

    мини-чат

    меня все устраивает, НО, есть человек, который дал мне задание, и который утверждает, что все-все чаты работают без автообновления, и что это вообще прошлый век... поэтому, мне надо или сделать как мне сказали, или же привести жесткие аргументы, что все делается так и так, а не наоборот.
  14. underW

    мини-чат

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

    мини-чат

    мне поставили такую задачу: реализовать чат, но никаких автообновлений быть не должно, то есть, не должно быть такого, что через 5, 10, 30 сек. мы лезем и смотрим, что там с новыми сообщениями, как только появляется новое сообщение, оно само должно вылезть в окошке, хмм, но так же нельзя ну никааааак, да/не?
  16. underW

    мини-чат

    передо мной стоит задание создания мини чата, сначала решил погуглить готовые решения, нашел Cbox, вроде как можно было бы и использовать его, но автообновление там можно установить только в платной версии, плюс еще есть ряд ограничений. Поэтому, вероятней всего, придется что то "мудровать" самому, но заковыка в том, что нету даже малейшего представления о том, как вообще организован чат, например, как реализовать вывод пользователю нового сообщения в чате, не путем ожидания автообновления через заданный интервал, а сразу как сообщение было написано я даже теоретически не представляю, объясните, пожалуйста.
  17. Павел Билькис, dyadya, спасибо, то что надо
  18. так а как же его очистить то?
  19. не, так тоже не срабатывает. Тоесть как, жмем са ссылку - случайное число остаеться тоже самое, а если жмем f5 - то число меняеться, следовательно, при нажатии на ссылку, опера страницу вообще не обновляет. сейчас вот покопался в настройках оперы и нашел интересность в разделе: Настройки-Дополнительно- История, тут есть такой пункт, как Проверять, обновлена ли страница на сервере, каждые 5 минут. Если же сменить с 5 минут на на значение Всегда то кликаем на ссылку - и новое значение, значит страничка обновляеться.
  20. Имя скрипта: test.php код PHP <?php echo rand(); ?> <a href="./test.php"><img src="img.ico"></a> Как видим на странице выводиться случайное число и ссылка-картинка, причем ссылка идет на эту же самую страничку. В Ослике, Лисичке, кликаем на ссылку, страничка обновляеться, и выводиться всегда разное случайное число, ччто есть вполне логичным. В опере же кликал-кликал на ссылку, страничка по ходу вообще не обновляеться, случайное число одно и тоже, в чем можент быть проблема?
  21. получилось!!!! Justnewone, спасибо!!!
  22. таки да, float:left помогло решить проблему, Searcher, спасибо!
  23. <html> <head> <style> .dl {float:left; width: 50px; height: 50px;} </style> </head> <body> <div style="width:300px"> <div id="q1" style="background-color: blue; width: 300px; min-height: 100px;"> <div id="q2" style="background-color: blue; width: 300px; min-height: 100px;"> <div class="dl" style="background-color: green;">q2</div> <div class="dl" style="background-color: yellow;">q3</div> <div class="dl" style=" background-color: red;">q4</div> </div> </div> <div style="clear:left; border-style: none solid solid; border-color: rgb(204, 204, 204); border-width: 0pt 1px 1px; width: 300px;"> <div style="margin: 4px; clear:left; overflow: hidden; width: 300px; min-height: 49px;"> Some Content was in this area </div> </div> </div> </body> </html> вот с этим куском кода пробую разобраться. Дело в том, что блоки q1 и q2 содержат в себе целое семейство других блоков, количество которых на странице динамически изменяеться, так вот при большом количестве внутренних блоков, они все не помещаються в родительской зоне и начинаю вылазить из нее, так вот, как сделать, что бы размеры родительського div изменялись в зависимости от размеров его содержания?
  24. на странице есть элемент textarea. Дальше с помощью JS помещаю textarea в динамически созданный div, тоесть получаем div внутри которого впихнута textarea. Но ширина div занимает всю страничку, а как сделать так, что бы ширина div была такой же как и ширина самой textarea, что бы получалось, что div округает ее четко по периметру?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy