Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как работает xor? не понимаю (http://www.flasher.ru/forum/showthread.php?t=175459)

filepark 17.02.2012 12:01

как работает xor? не понимаю
 
пример: 3216549705 ^ 5299195436 выдаёт -2073826971
почему отрицательное число?

помогите пожалуйста разобраться

Genzo 17.02.2012 12:06

Вы переполняете Number.MAX_VALUE и от начинается с Number.MIN_VALUE.
XOR работает так :
ставит 1 на всех битах, где у двух чисел не 1 бит. т.е.
2 ^ 4 = 0010 ^ 0100 = 0110 , а
4 ^ 6 = 0100 ^ 0110 = 0010

filepark 17.02.2012 18:46

спасибо!
но как узнать какое число является максимальным подходящим для ксора, хотя бы порядок цифр? 10 знаков не подходит, а 9?

Genzo 17.02.2012 19:13

Сравнивайте его с Number.MAX_VALUE и Number.MIN_VALUE.
http://help.adobe.com/en_US/FlashPla...html#MAX_VALUE

-De- 17.02.2012 19:52

Мне кажется, что 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.