m*****9 发帖数: 29 | 1 product of two 8-bit integers without multiplication operator. |
e***s 发帖数: 799 | 2 这个比实现+ - × / without + - * / operator 简单多了吧。
就是a*b = a + a(b - 1) 递归吧? |
m*****9 发帖数: 29 | 3 很遗憾,这不是面试官想要的答案。。我也是这么答的。
【在 e***s 的大作中提到】 : 这个比实现+ - × / without + - * / operator 简单多了吧。 : 就是a*b = a + a(b - 1) 递归吧?
|
z*****n 发帖数: 447 | 4 bit操作,移位再相加
比如
A*(001101)
= A + A<<2 + A<<3
还需要考虑一下溢出 |
j*********g 发帖数: 3179 | 5 Bit wise shifting?
★ 发自iPhone App: ChineseWeb - 中文网站浏览器
【在 m*****9 的大作中提到】 : product of two 8-bit integers without multiplication operator.
|
l*****a 发帖数: 14598 | 6 result=0;
while(x)
{
if(x&0x1) result+=y;
y+=y;
x>>1;
}
return result;
【在 m*****9 的大作中提到】 : product of two 8-bit integers without multiplication operator.
|
m*****9 发帖数: 29 | 7 应该是这个,bit manipulation
【在 j*********g 的大作中提到】 : Bit wise shifting? : : ★ 发自iPhone App: ChineseWeb - 中文网站浏览器
|
l*********y 发帖数: 370 | 8 int product(short a, short b)
{
if(b < 0)
return -product(a, -b);
int prod = 0;
for(int i=0; i<7; ++i){
if((b & 1<
prod +=a<
}
}
return prod;
} |
p*******o 发帖数: 3564 | 9 8-bit integer会有负数问题?short也有16bit
【在 l*********y 的大作中提到】 : int product(short a, short b) : { : if(b < 0) : return -product(a, -b); : int prod = 0; : for(int i=0; i<7; ++i){ : if((b & 1<: prod +=a<: } : }
|