الرئيسيةعريقبحث

قناع (حوسبة)


☰ جدول المحتويات


لمعانٍ أخرى، انظر قناع (توضيح).

في علم الحاسوب، القناع هو نمط من البتات التي يمكن إستعمالها للاحتفاظ بنمط اخر من البتات وضغطها. باستخدام قناع، يمكن ضبط بتات متعددة في بايت أو نايبل أو كلمة إلخ. أما القناع في أنظمة الاتصالات فيعني الوسيلة لحجب أو إخفاء أو منع الحصول على معلومات من خلال تحليل إشارات الغتصال.

وظائف القناع الشائعة

أقنعة بت إلى 1

لتشغيل بعض وحدات البت، يمكن استخدام عملية OR المعيارية، باتباع مبدأ أن Y OR 1 = 1 وY OR 0 = Y لذلك، للتأكد من تشغيل بعض الشيء، OR يمكن استخدام الرقم 1. لترك بعض الشيء دون تغيير، يتم استخدام OR مع 0.

1001 0101 1010 0101 أو 1111 0000 1111 0000 = 1111 0101 1111 0101

أقنعة بت إلى 0

مثال على كل من modulo وmasking في C:

#include <stdint.h> #include <string.h> int main(void) { const uint32_t NUM_BUCKETS = 0xFFFFFFFF; // 2^32 const uint32_t MAX_RECORDS = 1<<10; // 2^10 const uint32_t HASH_BITMASK = 0x3FF; // (2^10)-1 char **token_array = NULL; // Handle memory allocation for token_array… char token[] = "some hashable value"; uint32_t hashed_token = hash_function(token, strlen(token), NUM_BUCKETS); // Using modulo size_t index = hashed_token % MAX_RECORDS; // OR // Using bitmask size_t index = hashed_token & HASH_BITMASK; *(token_array+index) = token; // Free the memory from token_array … return 0; }

مقالات ذات صلة

موسوعات ذات صلة :