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()