![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Есть массив типа
array( 0=>0, 1=>1, 2=>0, 3=>1, 4=>0, 5=>1 ) Необходимо перевести это массив в десятичный вид и потом проделать обратную процедуру. Прямой перевод простой - массив в строку - строку в десятичный код А вот с обратным что-то проблема.. у меня получается куча функций.. Очень рад был бы услышать разные варианты решения Это сообщение отредактировал(а) Gold Dragon - 14.3.2012, 08:07 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
то есть должно получиться такое
-------------------- Amazing ![]() |
|||
|
||||
ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
base_convert
?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
||||
|
|||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
MoLeX, нет. Могут быть только единица или ноль. т.е. в конечном итоге двоичная система
Например: Исходная строка получается - 010101 (получаем из массива) Десятичная получается - 21 и потом должна получится опять строка 010101 ну и в конечно итоге массив ksnk, малость не понял твой код.. исходное число может быть любое и 010101 и 0001000. И не проще тогда воспользоваться bindec() и decbin() Это сообщение отредактировал(а) Gold Dragon - 14.3.2012, 10:58 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
поменяй base_convert на bindec & decbin, результат один и тот же. какая разница?
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Мне казалось, что элемент с индексом 0 - младший бит двоичного числа. Если не так, то нужно выкинуть array_reverse из моего примера. Ну и да, заменить base_convert на bindec/decbin если других вариантов размерности не будет. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
я знаю эти функции
![]() То ли я не могу правильно объяснить, то ли второе ![]() имеем: array("0","0","1","1","0","0") т.е. строку "001100" и после bindec/decbin мы получим строку "1100" и следовательно: array("1","1","0","0") а это разные варианты.. Я просто хочу найти оптимальный вариант добавлять "нули" в массив -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
я так понимаю, ты знаешь, сколько у тебя всего элементов должно получиться? ну, в смысле, сколько нулей надо добавить?
если да, то decbin + str_pad + str_split если нет, то я офигею ![]() |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
вот я тормоз!!!!.. можно ведь сначала дополнить строку, а уж потом перевести в массив
![]() Всё. вопрос снимается... а я мучаюсь и думаю как в начало массива добавить нули и получается безумный какой-то код ![]() -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |