请阅读下面的代码,提出意见与建议,并优化代码
源代码:
#define BYTE unsigned char //256个字节,数值范围[0,255]BYTE Fun1(BYTE nOral,BYTE nTemp) { BYTE nResult = (((nTemp <128)?(2*nOral *nTemp/255):(255-2*(255-nOral)*(255-nTemp)/255))); nResult = 2*((nOral>>1)+64)*nResult/255; return nResult; } void Test() { intnWidth = 10000; int nHeight = 10000; BYTE*pOralData = new BYTE(nWidth*nHeight); BYTE*pTempData = new BYTE(nWidth*nHeight); ...//赋值不考虑,每个值的范围在0-255之间 int i,j; for (j=0;j<nHeight;j++) { for (i=0;i<nWeight;i++) { BYTE* pOral = pOralData + i*nHeight + i; BYTE* pTemp = pTempData– j*nHeight + i; pOral[0] = Fun1(pOral[0],pTemp[0]); } } }