1 2 4 8 16 32 64 128 256 512 1024...这些数字任意几个相加,怎么算出是那几个相加?

1个回答

  • 这是二进制的问题.

    比如13

    13÷2=6……1 (二进制最后一位是1)

    6÷2=3 (二进制倒数第二位是0)

    3÷2=1……1 (二进制倒数第三位是1)

    最后商是1,所以二进制最高位是1

    所以,13的二进制表示是

    1101

    于是,选择(从右开始)第1、第3、第4个数,也就是1、4、8

    172的二进制表示为

    10101100(自己仿照我前面的介绍化一下)

    所以选择(从右开始)第3、第4、第6、第8个数,也就是4、8、32、128