#define NUM1 0xe8d4
#define NUM2 0xa50fff
unsigned char ge,shi,bai,qian,wan,sw,bw,qw,yi/* 代表提取结果*/
unsigned long i
unsigned long sum=NUM2
for(i=0i<NUM1i++)
{
sum+=1024*1024*16
if(sum>=1000000000)
{
sum-=1000000000
}
}
ge = (unsigned char)(sum%10)
shi = (unsigned char)((sum/10)%10)
bai = (unsigned char)((sum/100)%10)
qian = (unsigned char)((sum/1000)%10)
wan = (unsigned char)((sum/10000)%10)
sw = (unsigned char)((sum/100000)%10)
bw = (unsigned char)((sum/1000000)%10)
qw = (unsigned char)((sum/10000000)%10)
yi = (unsigned char)((sum/100000000)%10)
printf("%d, %d, %d, %d, %d, %d, %d, %d, %d", yi,qw,bw,sw,wan,qian,bai,shi,ge)
0开始的数字被认为是8进制数,你知道8进制数中不可能有8出现,所以-028、028都是不合法的。而2.E8指的是2.0 × 10^8,-.28指的是-0.28,这些都是浮点数的有效表示。