قناع (حوسبة)

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

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

أقنعة بت إلى 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;
}

مراجع

    انظر أيضًا

    • بوابة علم الحاسوب
    • بوابة تقنية المعلومات
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.