通过对A和B(含)之间的一个或多个整数进行按位或运算,可以生成多少个不同的数字

通过对A和B(含)之间的一个或多个整数进行按位或运算,可以生成多少个不同的数字?

说明: 在这种情况下,A = 7并且B = 9。通过对{7、8、9}的非空子集进行按位或运算,可以生成四个整数:7、8、9和15 1≤A≤B<2 ^ 60

我的方法: 将给定的数字都转换为二进制。遍历它们并尝试形成不同的条件。但是我没有得到不同整数的数量。请帮我解决如何为此开发算法和程序。