CS:APP
renzhenmac
全部博文(24)
2009年(24)
迷惑的风
wzzushx
HughNian
gaopengt
fox1955
Tjie_S
aku1
enenshiw
hanzhenl
分类: C/C++
2009-08-07 17:55:46
// 计算两个32位unsigned乘积的高32位,利用给定的库函数signed_high_prod#include<iostream>using namespace std;unsigned int unsigned_high_prod(unsigned ux, unsigned uy){int sx = (int)ux;int sy = (int)uy;// ux = 2^n*SX(n-1) + SX// uy = 2^n*SY(n-1) + SY// ux*uy/2^n = SX(n-1)*SY(n-1)*2^n + [ SX(n-1)*SY + SY(n-1)*SX ] + SX*SY/2^nreturn unsigned ( (x<0)*sy + (y<0)*sx + signed_high_prod(sx, sy) );}
上一篇:CSAPP 习题2.46 xbyte
下一篇:CSAPP 习题2.52 replace_byte
登录 注册