xiaomakuaipao 发布的文章

He had to drive five miles. 解释一下has to 的原型为have to表示不得不故中文为 他不得不驾驶5英里。

It is wise to save a dime. 这是一句名言警句,意思为节约每一分钱都是明智的。

机器码一共有4种分别为原码、反码、补码、移码(增码) 原码:

原码是由符号位(正为1;负为0)再真值组成的。例如-3的8位原码的求法为:
         -3的符号位是-,在二进制中表示为1,再利用短除法求出3的二进制11,结合后为1000 0011。

其优点是简单易手写,缺点是机器需要单独设立加法器和减法器,0还有+0(0000 0000)和(1000 0000)两种形式。

反码: 反码分两种情况正数的情况下与原码相同,负数为把原码除符号位按位取反。还是拿-3举例: -3是负数,依照以上规则需要把除符号位按位取反得到(1111 1111)。 其优点是可以直接连符号加减,简化机器,但还是没有解决0有符号。

补码: 补码也分两种情况正数的情况下与反码相同,负数为把反码加1。我们拿-2举例: -2是负数,依照以上规则需要加1得到(1111 1111)。 其优点是可以解决0的符号,但美中不足的是-128在补码里是(1000 0000)也就是反码的-0,这是一个小瑕疵。

移码: 移码是将补码的符号位取反。还是拿-2举例: 依照以上规则需要把符号位按位取反得到(0111 1111)。 解决了补码的瑕疵。

###原题如下:###

陈A歹种植一批农作物,第一天需要浇水一次,随后的两天(第2、第3天),每天需要浇水2次,再随后的3天(第4、第5、第6天),
需要每天浇水3次,这样持续下去,随后的n天,每天需要浇水n次。请问在100天里,总共浇了多少次水()
A. 994
B. 996
C. 995
D. 945

题目分析: 对于这道题我们要先求出这100天一共有几轮,再求出每一轮浇水的平方之和。 题目解答 由于1~n是一串连续的数字可以用等差数列求和公式来求,首是1,尾和项设为n,设等式的结果为100; $(1 + n)·n\over(2)$ = 100结果向下去整后为13。再带入公式得出91,用100减91得出浇十四次水的有九天,再用平方和公式13(13 + 1)(26 + 1)/6得到819再加上9天浇14次水也就是9×14=126,819+126 = 945。故答案选D。

###原题如下:###

如果a为int类型的变量,下列那个表达式可以正确求出满足“小于等于a且是4的倍数”的整数中最大的?()
A.(a & (~3))
B.((a << 2) >> 2)
C.(a ^ 3)
D.((a - 1) | 3) + 1

题目分析: 由于符合题目要求的式子有很多所以本题用代入法来做 对于选项A 先将常数值~3算出来由于a的二进制不一定有多少位所以我们先拟定3的二进制为00……0011,再按位取反得到11……1100,我们先尝试6,6的二进制是110有3位,所以之前拟定时三的位数也变为三位,取反后得到100,再与110按位与得到100,转为十进制后为4,符合原题。 对于选项B 这个式子相当于把a的二进制后面增加两个零再减少两个零,与原题不符还会溢出。 对于选项C 是求a的3次方,也与原题不符。 对于选项D 在尝试9的时候a - 1 = 8,8 的二进制是1000,1000 与3的二进制11按位或后求出1011,十进制下为11,11 + 1 = 2,与原题不符,正确答案为8。 所以答案为A。 以下为图片解析 图1.png