powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (perl) Генерация списка чисел по битовой маске и одному известному значению
2 сообщений из 2, страница 1 из 1
(perl) Генерация списка чисел по битовой маске и одному известному значению
    #39173310
zakka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем! Помогите пожалуйста начинающему понять как работают маски.

Дано:

FC - 1111 1100 (маска)
10 - 0001 0000 (известное число диапазона)

Результат:

10 - 0001 0000
11 - 0001 0001
12 - 0001 0010
13 - 0001 0011

====

В итоге мне нужно написать программу которая по маске из 3-х байт (от 00x000000 до 00xFFFFFF),
и одному известному значению (например 83100d) позволит получать полный список значений "удовлетворяющих маске".

Заранее благодарен!
...
Рейтинг: 0 / 0
(perl) Генерация списка чисел по битовой маске и одному известному значению
    #39176569
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zakka,
Код: perl
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
# @param string Mask, hex
# @param string Known number, hex
# @return array Suitabe numbers
sub by_mask_and_number {
    my ($mask, $known_number) = map{hex $_} @_;
    
    my $len = length sprintf "%x", $mask;
    my $max = hex("F"x$len);              # max number to testing
    my $on  = $mask & $known_number;      # bits must be set
    my $off = $mask & ~$known_number;     # bits must be unset

    grep{$on==($on & $_) && $off==($off & ~$_)} (1..$max);
}
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (perl) Генерация списка чисел по битовой маске и одному известному значению
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]