我听到术语算法经常使用,并且被我在本网站上看到的上下文所迷惑,有时候我想我会试着澄清我的理解。算法和脚本定义
要我的算法是一些数学的过程中,如本
uint UPDC16(unsigned char a, uint crc)
{
uint b,p;
a^=crc; crc=(crc>>8)|(a<<8); p=a^(a>>4); p^=(p>>2); b=a; a>>=1;
if((p^(p>>1))&1) { crc^=0x0001; a|=0x80; }
if(b & 1) crc^=0x0040; b=a; a^=(crc>>8);
if(a & 1) crc^=0x0080; a>>=1;
if(b & 0x80) a|=0x80;
crc = (crc&0x00ff)|(a<<8);
return crc;
}
在哪里,因为我认为,因为这通过巢老人进行的动作(旋转图像)如果statments,而不是一个工科数学函数它不是一个算法,但是一个函数。
for (int block_x = 0; block_x < 2048; block_x+=8)
{
for (int block_y = 0; blocky_y < 2048; block_y+=8)
{
// this is the inner-loop that processes a block
// of 8x8 pixels.
for (int x= 0; x<8; x++)
for (int y=0; y<8; y++)
dest[x+block_x][y+block_y] = src[y+block_y][x+block_x]
}
}
我已经使用了它,但我正在寻找一个有经验的编码解释。任何人都可以帮我解释算法吗?
另一件令我困扰的事情是我看过“脚本”这个词几次,而且不明白。我听说有像lua这样的脚本语言(可能是错误的)。
他们的意思是使用这些语言还是一种“脚本”编码的特殊方法?
我主要使用c/C++,如果这有什么不同。
您提供的示例是算法的*实现*。算法最好用文字描述,也许是伪代码。脚本是用脚本语言编写的程序。 C和C++都不能被描述为'脚本语言'。 – pavium 2011-05-13 10:48:31