tinyOS能处理的数的范围

tinyOS无法处理表示大于4个字节的数吗,我在tinyOS的平台上使用nesC编程过程中,出现数据与C语言(代码几乎相同)处理的数据 ,在某个步骤中突然不同, 这是数据溢出的问题吗?求各路大神解惑啊??谢谢!!!

能处理多大的数,和操作系统应该没有关系。贴出你的代码

for(j =16; j < 64; j++)
{

SS1 = ROTL((ROTL(A,12) + E + ROTL(T[j],j)), 7); //SS1、SS2、TT1、TT2均为unsigned long型
SS2 = SS1 ^ ROTL(A,12);
TT1 = FF1(A,B,C) + D + SS2 + W1[j];
TT2 = GG1(E,F,G) + H + SS1 + W[j];
if(j>31){

    DbgOut(DbgOut_LEVEL,"%d ",j);//j=33开始出错
    DbgOut(DbgOut_LEVEL,"%lx ",SS1);
    DbgOut(DbgOut_LEVEL,"%lx ",SS2);
    DbgOut(DbgOut_LEVEL,"%lx ",TT1);
    DbgOut(DbgOut_LEVEL,"%lx ",TT2);
    }
    D = C;
    C = ROTL(B,9);
    B = A;
    A = TT1;
    H = G;
    G = ROTL(F,19);
    F = E;
    E = P0(TT2);

}

#define FF0(x,y,z) ( (x) ^ (y) ^ (z))
#define FF1(x,y,z) (((x) & (y)) | ( (x) & (z)) | ( (y) & (z)))

#define GG0(x,y,z) ( (x) ^ (y) ^ (z))
#define GG1(x,y,z) (((x) & (y)) | ( (~(x)) & (z)) )

#define SHL(x,n) (((x) & 0xFFFFFFFF) << n)
#define ROTL(x,n) (SHL((x),n) | ((x) >> (32 - n)))

下面的for循环代码是出错的地方,劳烦解答

像右移、取反等等都要考虑符号位的处理,不知道你用的什么编译器,可以单独拿出来试验下。

http://www.cnblogs.com/suda/archive/2012/03/31/2427114.html

http://wenku.baidu.com/view/ed60223483c4bb4cf7ecd1d3.html?re=view
不是有8字节的数据类型吗