![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| xaoc2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 22.10.2004 Репутация: нет Всего: нет |
Недавно в институте получил задание. Нарисовать блок-схему алгоритма конверсии десятичных цифр в бинарные. Обычно я прогоняю такие задания на PHP для экономии времени. Придумал алгоритм с операцией сдвига , но вывод - сюрприз для меня.
Здесь decbin() для контроля
Вот вывод: 10101111100101010 000000000000000-10-10-1-1-1-1-100-10-10-10 Откуда чёрточки? Без них вроде бы всё сходится. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Мож просто выводятся перед 1 именно.
|
|||
|
||||
| xaoc2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 22.10.2004 Репутация: нет Всего: нет |
Но ведь не должно по определению. При битовом сдвиге может быть 1 или 0. |
|||
|
||||
| Mayk |
|
||||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 2 Всего: 134 |
При побитовом сдвигании знаковый бит не меняется в данном случае. Добавлено @ 22:14 То есть $b >> 31 вернет либо 0, либо -1. Иными словами $b >> 31 заполняет все битиы знаковым. хотя бы echo abs($b >> 31); спасёт мир Добавлено @ 22:19 а если серьезно, то хотя бы
Добавлено @ 22:22 или вообще разверни цикл
Это сообщение отредактировал(а) Mayk - 30.10.2005, 22:22 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||||
|
|||||||
| xaoc2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 22.10.2004 Репутация: нет Всего: нет |
Большое спасибо, попутно неожиданно нашёл решение дркгой проблемы:
как прочитать произвольный бит числа.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |