小白真心提问啊 Python语法的str(num%2)表示 去掉最低位 为什么啊?有源代码

num=256
if num isNeg=True
num=abs(num)
else:
isNeg=False
result=' '
if num==0:
result='0'
while num>0:
result=str(num%2)+result
num=num/2
if isNeg:
result='_'+result

这段代码 是为了把十进制数字 表示为二进制数字的 ,
但是 我不懂为什么 str(num%2)表示 去掉最低位
为什么啊 我不造啊

num%2是二进制形式的情况下去掉高位,只保留最低位。
比如 10101111 % 2 = 1,也就是最低位1,其余去掉。