早教吧 育儿知识 作业答案 考试题库 百科 知识分享

关于midi文件的问题一个字节有8位,如果仅使用7位,它可以表示0~127这128个数,而剩下的一位,则用来作为标志.如果要表示的数在以上范围,则这个标志为0,这时,一个7位的字节可以表示0~127tick.如果

题目详情
关于midi文件的问题
一个字节有8位,如果仅使用7位,它可以表示0~127这128个数,而剩下的一位,则用来作为标志.如果要表示的数在以上范围,则这个标志为0,这时,一个7位的字节可以表示0~127tick.如果要表示的数超出了这个范围(比如240),则把标志设置成1,然后记录下高7位,剩下的留给下一个 字节,在该例中240可以分解成128*1+112,这里的1就是第一个字节要记录的,加上标志位,应该为10000001,即十六进制的81;而112 是下一个字节记录的,它的十六进制为70:所以要表示240这个时间,要写成81 70.同理,如果要表示65535tick,则可以先计算出65535=1282*3+1281*127+1280*127,然后得出结果:83 FF 7F.由此,我们反过来也可以知道如何确定时间差:只要标志位为0,则表示结束读取时间差.比如82 C0 03表示1282*2+1281*64+1280*3=40963,如果基本时间为120,则有341:043个四分音符.
以这种方式记录整数的字节称为动态字节,它根据记录的整数改变自身的长度,这在后面还要用到,所以必须熟练计算.
那怎么把动态数据转换成我看的懂的十进制数据啊
▼优质解答
答案和解析
天下源码,唯快不破,无坚不摧,小女孩,你找对人了!