C语言高精度算法中的问题我想用一下这种方法编写高精度算法,但是遇
我想用一下这种方法编写高精度,但是遇到一个问题,下面是我编写的一小部分,作用是把传进去的长整型的数转化存进一个buffer 这个数组中,接着就是我要提问的关键,也就是需要大家帮我解答的地方 下面那个for 循环的作用,麻烦大家尽可能地详细地解答吧,我老师给我的注释如下,但是我看不懂,麻烦大家啦!~~ 如果回答的好我再加分啊!~~ make_number(long n) { char buffer[16]; /* assume long has 16 digits*/
你的程序给的也太残缺了吧? 刚开始,buffer里面是16个数字的ASCII码(字符形式) 在for循环里面,buffer自减'0'的话就成了每位数字的二进制码了,比如 开始: buffer[0]=‘2’;buffer[1]='5'; 则实际数组中存储的是2,5的ascii码分别为0011 0010(50),0011 0101(53),for循环时自减‘0’(0011 0000)之后就成了 buffer[0]=0000 0010=2,buffer[1]=0000 0101=5; 所以循环之前buffer中是每位数字的ASCII码,之后数组中存储的是每位数字的二进制真值。