一个将int转换成特定倍数余数的程序

文章介绍了在PyAudio项目中处理音频数据的过程,将字节码通过`int.from_bytes`进行数值化。随后定义了一个名为`compute`的函数,该函数将数值按除法操作转换为一个列表,列表的元素表示数字的二进制表示。此函数主要用于将长数字拆分成可操作的部分,以便于进行计算。文章提供了函数的使用示例和返回值的解释。
摘要由CSDN通过智能技术生成

我在使用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.

返回的内容是一个列表,列表的第一位需要做出解释

        ·如果dividendnun的倍数,这位就是1

        ·如果不是,就是0

后面的数字含义是:从索引为1开始

        ·如果[0]的值是1,那么后面的每一项乘以num的和就是原始数据

        ·如果[0]的值是0,那么后面除了[-1],其他的乘以num再加上[-1]的值就是原始数据


以下是两个示例:

以及


End~ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值