![]() |
как работает xor? не понимаю
пример: 3216549705 ^ 5299195436 выдаёт -2073826971
почему отрицательное число? помогите пожалуйста разобраться |
Вы переполняете Number.MAX_VALUE и от начинается с Number.MIN_VALUE.
XOR работает так : ставит 1 на всех битах, где у двух чисел не 1 бит. т.е. 2 ^ 4 = 0010 ^ 0100 = 0110 , а 4 ^ 6 = 0100 ^ 0110 = 0010 |
спасибо!
но как узнать какое число является максимальным подходящим для ксора, хотя бы порядок цифр? 10 знаков не подходит, а 9? |
Сравнивайте его с Number.MAX_VALUE и Number.MIN_VALUE.
http://help.adobe.com/en_US/FlashPla...html#MAX_VALUE |
Мне кажется, что 3216549705 и 5299195436 оно считает беззнаковыми типами, а результат xor почему-то знаковым. Т.к. ни для Number (если адоби не поклали на стандат, то там отдельный бит для знака) ни для int (в котором не то чтоб есть "бит знака", но не то чтобы нет %) xor от двух положительных не должен быть отрицательным.
PS: xor - битовая операция, читайте про байтовые представления целых чисел и чисел с плавающей запятой, чтоб понять чокак. |
| Часовой пояс GMT +4, время: 05:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.