Skip to content

tags: description: Функция bitwiseNOT() выполняет побитовую операцию НЕ (NOT) над числом. Каждый бит результата инвертируется: 0 становится 1, а 1 становится 0.

- bitwise functions

bitwiseNOT(column)

Описание

Функция bitwiseNOT() выполняет побитовую операцию НЕ (NOT) над числом. Каждый бит результата инвертируется: 0 становится 1, а 1 становится 0.

Параметры

  • column: Column - числовой столбец

Возвращаемое значение

Integer - результат побитовой операции НЕ

Пример использования

from pyspark.sql import SparkSession
from pyspark.sql.functions import bitwiseNOT

# Создаем SparkSession
spark = SparkSession.builder.appName("bitwiseNOT_example").getOrCreate()

# Создаем DataFrame с числами
data = [
    (0,),   # ~0000 = 1111
    (5,),   # ~0101 = 1010
    (10,)   # ~1010 = 0101
]
df = spark.createDataFrame(data, ["number"])

# Выполняем побитовую операцию НЕ
result = df.select(
    "number",
    bitwiseNOT("number").alias("result")
).show()

# Результат:
# +------+------+
# |number|result|
# +------+------+
# |     0|    -1|
# |     5|    -6|
# |    10|   -11|
# +------+------+

Примечания

  • Функция работает только с целыми числами
  • Для отрицательных чисел операция выполняется над их двоичным представлением
  • Результат операции НЕ для числа n равен -(n + 1)
  • Для других побитовых операций используйте bitwiseAND(), bitwiseOR() и bitwiseXOR()
  • Для работы с отдельными битами используйте bit_get(), bit_set() и bit_count()