正文

r进制数据的倒序2007-11-03 14:25:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/vfdff/30701.html

分享到:

#include <cstdlib>#include <iostream> using namespace std; // 把 一个二进制数 倒序怎么 实现呀?比如 111000110  --> 011000111// 把一个r进制的数 n(r进制数据对应的十进制数据)进行倒序 ,stage 为数据的长度 int inverse(int n,const short stage,short r) {    char temp[stage];    int i=0; do {  temp[i] = n%r; // 取 r 进制数个数位上的值   i++;  n /= r; }while(i<stage);//while(n>0); for(i = 0;i<stage;i++){ // 倒序前         printf("%x",temp[stage-i-1]); } printf("<-->"); for(i = 0;i<stage;i++){ // 倒序后         printf("%x",temp[i]); } int l = 1,nn = 0; for(i = 0;i<stage;i++){        nn += temp[stage-i-1]*l;        l *= r; // 权值  }  return nn;} int main(int argc, char *argv[]){    int n,nn;    n = 234;    nn = inverse(n,10,2);     printf("\n%d<-->%d",n,nn);    system("PAUSE");    return EXIT_SUCCESS;}

阅读(3503) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册