Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Побитовые операции

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Куда делись, пару байт?
Няшик
Отправлено: 19 Февраля, 2016 - 22:03:39
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Февр. 2016  


Помог: 0 раз(а)




Куда делись пару байт ? Хм

PHP:
скопировать код в буфер обмена
  1. $S = array();
  2. $S[0][1] = 30716 >> 1;                  # = 15358
  3. $S[0][2] = $S[0][1] >> 1;               # = 7679
  4. $S[0][3] = (($S[0][2] >> 1) ^ 0xA001);  # = 44798
  5.  
  6. $S[1][1] = (0xA001 ^ $S[0][3]) << 1;    # = 7678
  7. $S[1][2] = $S[1][1] << 1;               # = 15356
  8. $S[1][3] = $S[1][2] << 1;               # = 30712


Видим что я даю 30716 а результат 30712 А?!
 
 Top
T1grOK
Отправлено: 20 Февраля, 2016 - 11:58:27
Post Id



Частый гость


Покинул форум
Сообщений всего: 129
Дата рег-ции: Июнь 2013  


Помог: 7 раз(а)




Битовый сдвиг в PHP не гарантирует преобразование к первоначальному состоянию.

(Отредактировано автором: 20 Февраля, 2016 - 12:10:46)



-----
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
 
 Top
Няшик
Отправлено: 20 Февраля, 2016 - 13:18:24
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Февр. 2016  


Помог: 0 раз(а)




T1grOK пишет:
Битовый сдвиг в PHP не гарантирует преобразование к первоначальному состоянию.


Печаль Хм хотел сделать расшифровку, которая прекрасно работает на c++ или на JS
 
 Top
T1grOK
Отправлено: 20 Февраля, 2016 - 15:03:51
Post Id



Частый гость


Покинул форум
Сообщений всего: 129
Дата рег-ции: Июнь 2013  


Помог: 7 раз(а)




В C++ битовый сдвиг вправо может работать циклически с переносом битов, PHP - нет.

(Отредактировано автором: 20 Февраля, 2016 - 15:18:09)



-----
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB