Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Распознание двоичной системы в AS (http://www.flasher.ru/forum/showthread.php?t=112520)

chingachgoog 30.05.2008 13:40

Распознание двоичной системы в AS
 
Собственно как можно распознать?
Разумеется, можно через parseInt("101010_мое_число",2).
Но флеш понимает специальные префиксы для восьмеричной и шестнадцатиричной системы:

Код:

trace(123) //123 - десятичная
trace(0123) //83 - восьмеричная
trace(0x123) //291 - шестнадцатиричная

Не нашел, чего-нибудь подобного для двоичной системы.
?

Alex_beginner 30.05.2008 14:21

А он двоичные числа и не распазнает.
Попробуй напиши:

trace(101010001);
trace((101010001).toString(10));

Выведет одно и тоже

aksios 30.05.2008 14:31

Код:

(число).toString(х)
, где х - разрядность системы исчесления - для двоичной это 2.

iNils 30.05.2008 15:57

Или так
Код:

parseInt("1010", 2)

chingachgoog 30.05.2008 16:48

про parseInt я написал - с этим проблем нет, но для других чисел есть префиксы, позволяющие напрямую работать с системами счисления. Неужели нет, что-нибудь типа 0b10101? Даже на БК-0001 такое было :)

iNils 30.05.2008 17:13

Нету.
И на БК-0001 это не было, было в софте для него :D

chingachgoog 02.06.2008 15:06

Ну нет, так будет :)

Код:

_global.__resolve=function (name) {
        if (name.charAt(0)=='b'){
                var z=name.slice(1)
                if (!(z.length%8)) {
                        return parseInt(z,2)
                }
        }
};

myBinary=b10010011+20
trace(myBinary)


alexcon314 02.06.2008 15:15

А зачем "if (!(z.length%8))" ?

chingachgoog 02.06.2008 15:29

Цитата:

Сообщение от alexcon314 (Сообщение 743210)
А зачем "if (!(z.length%8))" ?

Мне трудно представить надобность в двоичной записи, не кратной байту.

Alex_beginner 03.06.2008 10:31

Цитата:

Мне трудно представить надобность в двоичной записи, не кратной байту.
Это как! 8 битовое значение Вы представляете, а 9 битовое уже нет.
На мой взгляд alexcon314 верно заметил, на счет контроля кратности 8-ке. Его просто нужно убрать. И код сократиться и любое из возможных значении двоичной системы исчисления будет вычислено.


Часовой пояс GMT +4, время: 23:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.