现代小海豚

文章
3
资源
1
加入时间
3年1月7天

二进制和十进制的相互转换

再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。即用十进制的小数乘以 2 并取走结果的整数(必是 0 或 1),然后再用剩下的小数重复刚才的步骤,直到剩余的小数为 0 时停止,最后将每次得到的整数部分按先后顺序从左到右排列即得到所对应二进制小数。例如:二进制小数0.1011=1*2^(-1) + 0*2^(-2) + 1*2^(-3) + 1*2^(-4)=0.6875。

Codeforces-1323D Present【思维】【异或】【二分】

题目Codeforces-1323D题意给一个长度为n的数组,计算以下公式的答案(a1+a2)⊕(a1+a3)⊕…⊕(a1+an) ⊕(a2+a3)⊕…⊕(a2+an) … ⊕(an−1+an)题解以下第k位从0开始计起,如二进制01的1处于第0位;考虑答案的每一位,假设答案第 k 位上为1,则有奇数个a[i]+a[j] (i>j)在第 k 位上为1;在计算第k位上是否为1时,k+1位以上的值对结果是没有影响的,所以我们先把数组a的每个数(k+1)位以上值消除后存入