没事瞎想 :关于申请数组元素不固定的一个想法
刚刚写了一段小程序 利用位运算来计算一个数字的二进制中包含的1的个数的写完之后 突然想把这些1 都位于哪个位上 也返回给函数调用者
但是由于1的个数不固定 所以申请空间 不知道咋弄比较好
比如 (10)153=(2)10011001 返回1的个数是4 返回位置分别是 左1 左4 左5 左8
1的二进制里面有1个1 分别位于 D[0] 2的二进制里面有1个1 分别位于 D[1] 3的二进制里面有2个1 分别位于 D[0] D[1] 4的二进制里面有1个1 分别位于 D[2] 5的二进制里面有2个1 分别位于 D[0] D[2] 6的二进制里面有2个1 分别位于 D[1] D[2] 7的二进制里面有3个1 分别位于 D[0] D[1] D[2] 8的二进制里面有1个1 分别位于 D[3] 9的二进制里面有2个1 分别位于 D[0] D[3] 10的二进制里面有2个1 分别位于 D[1] D[3] 11的二进制里面有3个1 分别位于 D[0] D[1] D[3] 12的二进制里面有2个1 分别位于 D[2] D[3] 13的二进制里面有3个1 分别位于 D[0] D[2] D[3] 14的二进制里面有3个1 分别位于 D[1] D[2] D[3] 15的二进制里面有4个1 分别位于 D[0] D[1] D[2] D[3] 16的二进制里面有1个1 分别位于 D[4] 17的二进制里面有2个1 分别位于 D[0] D[4] 18的二进制里面有2个1 分别位于 D[1] D[4] 19的二进制里面有3个1 分别位于 D[0] D[1] D[4] 20的二进制里面有2个1 分别位于 D[2] D[4] 21的二进制里面有3个1 分别位于 D[0] D[2] D[4] 22的二进制里面有3个1 分别位于 D[1] D[2] D[4] 23的二进制里面有4个1 分别位于 D[0] D[1] D[2] D[4] 24的二进制里面有2个1 分别位于 D[3] D[4] 25的二进制里面有3个1 分别位于 D[0] D[3] D[4] 26的二进制里面有3个1 分别位于 D[1] D[3] D[4] 27的二进制里面有4个1 分别位于 D[0] D[1] D[3] D[4] 28的二进制里面有3个1 分别位于 D[2] D[3] D[4] 29的二进制里面有4个1 分别位于 D[0] D[2] D[3] D[4] 30的二进制里面有4个1 分别位于 D[1] D[2] D[3] D[4] 31的二进制里面有5个1 分别位于 D[0] D[1] D[2] D[3] D[4] 32的二进制里面有1个1 分别位于 D[5] 33的二进制里面有2个1 分别位于 D[0] D[5] 34的二进制里面有2个1 分别位于 D[1] D[5] 35的二进制里面有3个1 分别位于 D[0] D[1] D[5] 36的二进制里面有2个1 分别位于 D[2] D[5] 37的二进制里面有3个1 分别位于 D[0] D[2] D[5] 38的二进制里面有3个1 分别位于 D[1] D[2] D[5] 39的二进制里面有4个1 分别位于 D[0] D[1] D[2] D[5] 40的二进制里面有2个1 分别位于 D[3] D[5] 41的二进制里面有3个1 分别位于 D[0] D[3] D[5] 42的二进制里面有3个1 分别位于 D[1] D[3] D[5] 43的二进制里面有4个1 分别位于 D[0] D[1] D[3] D[5] 44的二进制里面有3个1 分别位于 D[2] D[3] D[5] 45的二进制里面有4个1 分别位于 D[0] D[2] D[3] D[5] 46的二进制里面有4个1 分别位于 D[1] D[2] D[3] D[5] 47的二进制里面有5个1 分别位于 D[0] D[1] D[2] D[3] D[5] 48的二进制里面有2个1 分别位于 D[4] D[5] 49的二进制里面有3个1 分别位于 D[0] D[4] D[5]