无心人
发表于 2008-3-31 15:42:51
那能否通过位操作和减法测试A, B大小顺序?
无心人
发表于 2008-3-31 15:52:03
现在问题改变
A, B为无符号64位整数
maxBit为求最高位bit函数
maxAB = maxBit(A - B)
maxA = maxBit(A)
maxB =maxBit(B)
MaxA = 0, MaxB = 0或者MaxA = 1, MaxB = 1
MaxAB = 1都表示A < B
仅MaxA = 1, MaxB = 0, MaxAB = 1表A > B
是不是?
如何最精简求出上面的逻辑结果
无心人
发表于 2008-3-31 16:01:35
maxAB = 0肯定是A >= B
maxAB = 1
maxA= 0, maxB = 0表示 A < B
maxA = 1, maxB = 0表示 A > B
maxA = 1, maxB = 1表示 A < B
maxA= 0, maxB = 1表示 A < B
这个逻辑如何写?
输入A, B, A - B的最高位Bit
输出1代表 A >= B否则A < B
无心人
发表于 2008-3-31 16:08:37
mathe:
得到一个逻辑式
(not maxAB) or(maxA and (not maxB)and maxAB )
能不能化简?
能不能表示所有情况
mathe
发表于 2008-3-31 16:31:34
maxABmaxAmaxBResult00011000001010100101110101111110
无心人
发表于 2008-3-31 16:40:51
能用比我原始逻辑式更简单的逻辑表示么
mathe
发表于 2008-3-31 16:57:37
原始逻辑表达式是什么?你前面几个好像都是错误的
无心人
发表于 2008-3-31 17:06:39
(not maxAB) or(maxA and (not maxB)and maxAB )
mathe
发表于 2008-3-31 17:09:33
maxAB = 0肯定是A >= B
=====================>
这句话是错误的
比如
A=0, B=0x80...0+1,(也就是B的最高和最低比特为1,其余为0)
A-B=-B=0x7FFFF....F
maxAB=0,但是A<B
无心人
发表于 2008-3-31 17:18:47
:'(
没办法了么?