c语言,e8d4a50fff怎么得到个位十位百位千位万位十万位百万位千万位亿位

Python014

c语言,e8d4a50fff怎么得到个位十位百位千位万位十万位百万位千万位亿位,第1张

代码如下:

#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,这些都是浮点数的有效表示。