ClickHouse/docs/fa/sql-reference/functions/bit-functions.md
Ivan Blinkov d91c97d15d
[docs] replace underscores with hyphens (#10606)
* Replace underscores with hyphens

* remove temporary code

* fix style check

* fix collapse
2020-04-30 21:19:18 +03:00

6.1 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true d734a8e46d 48 بیت

توابع بیت

بیت توابع کار برای هر جفت از انواع از uint8, uint16, uint32, uint64, int8, int16, int32, int64, float32 یا float64.

نوع نتیجه یک عدد صحیح با بیت به حداکثر بیت از استدلال خود را برابر است. اگر حداقل یکی از استدلال امضا شده است, نتیجه یک شماره امضا شده است. اگر استدلال یک عدد ممیز شناور است, این است که به درون بازیگران64.

بیت و ب)

bitOr(a, b)

هشدار داده می شود)

bitNot(یک)

اطلاعات دقیق)

باز کردن پنجره روی برنامههای دیگر)

هشدار داده می شود)

حفاظت از بیت)

بیتترین

طول می کشد هر عدد صحیح و تبدیل به شکل دودویی, بازگرداندن ارزش کمی در موقعیت مشخص. شمارش معکوس از 0 از سمت راست به سمت چپ شروع می شود.

نحو

SELECT bitTest(number, index)

پارامترها

  • number integer number.
  • index position of bit.

مقادیر بازگشتی

بازگرداندن مقدار کمی در موقعیت مشخص.

نوع: UInt8.

مثال

مثلا, تعداد 43 در پایه-2 (دودویی) سیستم اعداد است 101011.

پرسوجو:

SELECT bitTest(43, 1)

نتیجه:

┌─bitTest(43, 1)─┐
│              1 │
└────────────────┘

مثال دیگر:

پرسوجو:

SELECT bitTest(43, 2)

نتیجه:

┌─bitTest(43, 2)─┐
│              0 │
└────────────────┘

تماس

بازده نتیجه ساخت منطقی (و اپراتور) از تمام بیت در موقعیت های داده شده. شمارش معکوس از 0 از سمت راست به سمت چپ شروع می شود.

ساخت و ساز برای عملیات بیتی:

0 AND 0 = 0

0 AND 1 = 0

1 AND 0 = 0

1 AND 1 = 1

نحو

SELECT bitTestAll(number, index1, index2, index3, index4, ...)

پارامترها

  • number integer number.
  • index1, index2, index3, index4 positions of bit. For example, for set of positions (index1, index2, index3, index4) درست است اگر و تنها اگر تمام موقعیت خود را درست هستند (index1index2, ⋀ index3index4).

مقادیر بازگشتی

بازده نتیجه منطقی conjuction.

نوع: UInt8.

مثال

مثلا, تعداد 43 در پایه-2 (دودویی) سیستم اعداد است 101011.

پرسوجو:

SELECT bitTestAll(43, 0, 1, 3, 5)

نتیجه:

┌─bitTestAll(43, 0, 1, 3, 5)─┐
│                          1 │
└────────────────────────────┘

مثال دیگر:

پرسوجو:

SELECT bitTestAll(43, 0, 1, 3, 5, 2)

نتیجه:

┌─bitTestAll(43, 0, 1, 3, 5, 2)─┐
│                             0 │
└───────────────────────────────┘

بیتستانی

بازده نتیجه حکم منطقی (یا اپراتور) از تمام بیت در موقعیت های داده شده. شمارش معکوس از 0 از سمت راست به سمت چپ شروع می شود.

دستور برای عملیات بیتی:

0 OR 0 = 0

0 OR 1 = 1

1 OR 0 = 1

1 OR 1 = 1

نحو

SELECT bitTestAny(number, index1, index2, index3, index4, ...)

پارامترها

  • number integer number.
  • index1, index2, index3, index4 positions of bit.

مقادیر بازگشتی

بازده نتیجه ساخت و ساز منطقی.

نوع: UInt8.

مثال

مثلا, تعداد 43 در پایه-2 (دودویی) سیستم اعداد است 101011.

پرسوجو:

SELECT bitTestAny(43, 0, 2)

نتیجه:

┌─bitTestAny(43, 0, 2)─┐
│                    1 │
└──────────────────────┘

مثال دیگر:

پرسوجو:

SELECT bitTestAny(43, 4, 2)

نتیجه:

┌─bitTestAny(43, 4, 2)─┐
│                    0 │
└──────────────────────┘

شمارش

محاسبه تعداد بیت را به یکی در نمایندگی دودویی از یک عدد است.

نحو

bitCount(x)

پارامترها

  • xعدد صحیح یا شناور نقطه شماره. تابع با استفاده از نمایندگی ارزش در حافظه. این اجازه می دهد تا حمایت از اعداد ممیز شناور.

مقدار بازگشتی

  • تعداد بیت را به یکی در تعداد ورودی.

تابع مقدار ورودی را به یک نوع بزرگتر تبدیل نمی کند (ثبت نام پسوند). بنابراین, مثلا, bitCount(toUInt8(-1)) = 8.

نوع: UInt8.

مثال

نگاهی به عنوان مثال تعداد 333. نمایندگی دودویی: 00000001001101.

پرسوجو:

SELECT bitCount(333)

نتیجه:

┌─bitCount(333)─┐
│             5 │
└───────────────┘

مقاله اصلی