我在使用pyaudio写代码时(后期会开源,是一个带上耳机就可以给环境降噪的小程序),给出的内容是ybtes,也就是字节码,在进行数值化操作后(也不知道对不对,反正先数值化)
int.from_bytes(audio_data, byteorder='little', signed=False)
给出了一串超极长的数字。
因为计算的需要,这串数字肯定不能直接运算,需要对其进行一个操作,于是就产生了以下代码:
def compute(dividend, num=256):
information = []
if dividend % num == 0:
information.append(1)
else:
information.append(0)
while True:
remainder = dividend % num
if dividend > num:
information.append(int(dividend / num))
dividend = remainder
elif remainder != 0:
information.append(remainder)
break
else:
break
return information
# pycharm可以直接复制使用,按理说没有报错(有错的望指正)
这个函数有2个参数,第一个填写需要进行操作的数,第二个填写的是需要除以多少,默认是256.
返回的内容是一个列表,列表的第一位需要做出解释:
·如果dividend是nun的倍数,这位就是1
·如果不是,就是0
后面的数字含义是:从索引为1开始
·如果[0]的值是1,那么后面的每一项乘以num的和就是原始数据
·如果[0]的值是0,那么后面除了[-1],其他的乘以num再加上[-1]的值就是原始数据
以下是两个示例:
以及
End~