Module: 位运算 (Python)


Problem

6/13

确定数字的符号

Theory Click to read/hide

位操作

计算机内存中的所有数字都以二进制形式存储,即作为 0 和 1 的序列。 
为了在计算机内存中存储数字,使用了有限数量的数字。因此,计算机中的数字具有有限的范围,计算结果可能不准确。
整数可以存储在 8、16、32 或 64 位内存中。每增加一位,可能值的范围就会扩大 2。 
使用相同的算法在处理器中执行正数和负数的运算。

借助按位逻辑运算,您可以控制处理器和外部设备寄存器的各个位。 
  <头> <正文>


操作AND
使用操作“AND,您可以重置(设置为零)掩码为 0 的位! 
 
掩码–一个常量,它定义了对多位数字的位进行逻辑运算的范围。

D - 数据,M - 掩码

操作OR
操作“OR可用于将1写入掩码为1的位!

运算异或
使用操作“XOR,您可以反转掩码为 1 的位!

左移
逻辑(按位) 左移 1 位将正整数加倍。

右移
布尔值(按位)。右移 1 将一个正整数除以 2。


由于右移会在空位置设置符号位,因此可以通过右移变量的整个长度来确定 x 的符号。

Problem

让数字x给定。 确定数字的符号。
 
例子
Python操作 目的地
一个 & b 按位 And 用于 ab
一个 | b ab 的按位OR
a ^ b OR 用于 ab
~a a 的位反转
<代码>一个<< b a 左移到 b
一个>> b a按位右移到b
<头> <日># <正文>
在一个函数中,缩进 4 个空格。

输入 输出
1 10 1
2 -10 -1
3 0 0
Write the program below
def getSign(x):
    if x != 0:
        mask = 1
    else:
        mask = 0          
# основная программа
x = int(input())
print(getSign(x))
               

     

Program check result

To check the solution of the problem, you need to register or log in!