Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 如何手工查找给定十进制数的最后一位(二进制)_Math_Binary_Numbers_Decimal - Fatal编程技术网

Math 如何手工查找给定十进制数的最后一位(二进制)

Math 如何手工查找给定十进制数的最后一位(二进制),math,binary,numbers,decimal,Math,Binary,Numbers,Decimal,我想知道是否有办法找到给定十进制数的最后一位。我想手工计算一下 例如,如果我有133和255,我如何才能找到二进制中的最后两位,而不必重复除以2?这里有一个简单的方法,可以找到十进制数中最不重要的两位,适合在你的头脑中进行 你只需要最后两位小数,所以把其余的都扔掉。因此,你的例子是33和55。查看最后一个十进制数字:如果是奇数,则最低有效位为1;如果是偶数,则最低有效位为0。在您的示例中,最后的数字是3和5,因此它们都有最后的二进制数字1 如果我们在上一步得到的二进制数字是1,从数字中减去1。现

我想知道是否有办法找到给定十进制数的最后一位。我想手工计算一下


例如,如果我有133和255,我如何才能找到二进制中的最后两位,而不必重复除以2?

这里有一个简单的方法,可以找到十进制数中最不重要的两位,适合在你的头脑中进行

你只需要最后两位小数,所以把其余的都扔掉。因此,你的例子是33和55。查看最后一个十进制数字:如果是奇数,则最低有效位为1;如果是偶数,则最低有效位为0。在您的示例中,最后的数字是3和5,因此它们都有最后的二进制数字1

如果我们在上一步得到的二进制数字是1,从数字中减去1。现在你们的例子是32和54。现在我们来看最后两个十进制数字。如果最后一个十进制数字可被4整除,即它是0、4或8,并且下一个十进制数字是偶数,则下一个二进制数字是0。如果最后一个十进制数字不能被4整除,即它是2或6,并且下一个十进制数字是奇数,则下一个二进制数字是0。否则,倒数第二个二进制数字是1。在您的第一个示例中,我们现在有32个,最后一个十进制数字是2,不是在第一个列表中,而是在第二个列表中,并且倒数第二个十进制数字是奇数,因此倒数第二个二进制数字是0。在您的第二个示例中,我们现在有54个,在第一个列表中,最后一个十进制数字是4,下一个十进制数字是奇数,因此下一个二进制数字是1。因此,133在二进制中以01结尾,而255在二进制中以11结尾


如果你不喜欢最后一条规则,你可以用不同的方式来表达。如果该步骤中的两位数可被4整除,则下一个二进制位数为0,否则为1。在你们的例子中,32可以被4整除,所以我们得到0位,但54不能被4整除,所以我们得到1位。结果是一样的,但第二种方法需要除法,这似乎是您想要避免的,而第一种方法避免除法,但需要更多的内存工作。

您所说的最后一位-最高有效位或最低有效位是什么意思?我指的是最低有效位可能的重复