1
答案:35
解析:&是按位与操作符 &&是逻辑与操作符
(1)二进制&运算符的规则: 1&1 =1 1&0 =0 0&0 = 0
(2)本题目中是一个按位与的运算规则 35的2进制为 100011 按位与的结果仍然是100011 =35
反而,&&逻辑与的运算符 35&&35=1
2.
C++中单精度浮点数(float 32位)能表示的十进制的有效位是7位,双精度浮点数(double 64位)能表示的十进制的有效位是16位。
单精度浮点数(float)总共用32位来表示浮点数,其中尾数用23位存储,加上小数点前有一位隐藏的1(IEEE754规约数表示法),2^(23+1) = 16777216。因为 10^7 < 16777216 < 10^8,所以说单精度浮点数的有效位数是7位。
同样地:双精度浮点数(double)总共用64位来表示浮点数,其中尾数用52位存储, 2^(52+1) = 9007199254740992,10^16 < 9007199254740992 < 10^17,所以双精度的有效位数是16位。