青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

xLsDg

Xiao Lu Software Development Group
posts - 8, comments - 1, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

大數(shù)運(yùn)算

Posted on 2014-07-26 08:21 xLsDg 閱讀(416) 評論(1)  編輯 收藏 引用 所屬分類: 代碼庫
  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <string.h>
  4 
  5 #define MAX_BIT ( 255u )
  6 
  7 char* bignum_add( char *a, char *b, char *c )
  8 {
  9     char *pA = NULL, *pB = NULL, *pC = NULL, d = 0;
 10 
 11     if ( strlen( a ) > strlen( b ) ) {
 12         pA = a;
 13         pB = b;
 14 
 15     } else {
 16         pA = b;
 17         pB = a;
 18     }
 19 
 20     for ( pC = c; *pA; pA++, pB++, pC++ ) {
 21         if ( *pB ) {
 22             *pC = ( *pA - '0' ) + ( *pB - '0' ) + d;
 23 
 24         } else {
 25             *pC = ( *pA - '0' ) + d;
 26         }
 27 
 28         if ( 9 < *pC ) {
 29             d = *pC / 10;
 30             *pC %= 10;
 31 
 32         } else {
 33             d = 0;
 34         }
 35 
 36         *pC += '0';
 37     }
 38 
 39     if ( 0 < d ) {
 40         *pC = d + '0';
 41     }
 42 
 43     return c;
 44 }
 45 
 46 char* bignum_sub( char *a, char *b, char *c )
 47 {
 48     char *pA = NULL, *pB = NULL, *pC = NULL, d = 0, flag = 0;
 49 
 50     if ( strlen( a ) >= strlen( b ) ) {
 51         pA = a;
 52         pB = b;
 53         flag = 1;
 54 
 55     } else {
 56         pA = b;
 57         pB = a;
 58         flag = -1;
 59     }
 60 
 61     for ( pC = c; *pA; pA++, pB++, pC++ ) {
 62         *pC = ( *pA - '0' ) + d;
 63 
 64         if ( *pB ) {
 65             *pC = *pC - ( *pB - '0' );
 66         }
 67 
 68         if ( 0 > *pC ) {
 69             if ( *( pA + 1 ) ) {
 70                 d = -1;
 71                 *pC += 10;
 72 
 73             } else {
 74                 *pC = -*pC;
 75                 flag = -1;
 76             }
 77 
 78         } else {
 79             d = 0;
 80         }
 81 
 82         *pC += '0';
 83     }
 84 
 85     if ( 0 > flag ) {
 86         *pC = '-';
 87     }
 88 
 89     return c;
 90 }
 91 
 92 char* bignum_mul( char *a, char *b, char *c )
 93 {
 94     char *pA = a, *pB = b, *pC = c, d = 0;
 95 
 96     for ( pB = b; *pB; pB++ ) {
 97         for ( pA = a, pC = c + ( pB - b ), d = 0; *pA; pA++, pC++ ) {
 98             if ( *pC ) {
 99                 *pC = ( *pC - '0' ) + ( *pA - '0' ) * ( *pB - '0' ) + d;
100 
101             } else {
102                 *pC = ( *pA - '0' ) * ( *pB - '0' ) + d;
103             }
104 
105             if ( 9 < *pC ) {
106                 d = *pC / 10;
107                 *pC %= 10;
108 
109             } else {
110                 d = 0;
111             }
112 
113             *pC += '0';
114         }
115 
116         if ( 0 < d ) {
117             *pC = d + '0';
118         }
119     }
120 
121     return c;
122 }
123 
124 char* bignum_reverse( char *a )
125 {
126     char *p1 = a, *p2 = NULL;
127 
128     for ( p2 = a + strlen( a ) - 1; p1 < p2; p1++, p2-- ) {
129         *p1 ^= *p2;
130         *p2 ^= *p1;
131         *p1 ^= *p2;
132     }
133 
134     return a;
135 }
136 
137 int main()
138 {
139     char *pA = NULL, *pB = NULL, *pC = NULL;
140 
141     pA = ( char* )malloc( MAX_BIT * sizeofchar ) );
142     pB = ( char* )malloc( MAX_BIT * sizeofchar ) );
143     pC = ( char* )malloc( MAX_BIT * sizeofchar ) * 2 );
144 
145     memset( pA, 0, MAX_BIT * sizeofchar ) );
146     printf( "A=" ); scanf( "%s", pA );
147     pA = bignum_reverse( pA );
148 
149     memset( pB, 0, MAX_BIT * sizeofchar ) );
150     printf( "B=" ); scanf( "%s", pB );
151     pB = bignum_reverse( pB );
152 
153     memset( pC, 0, MAX_BIT * sizeofchar ) * 2 );
154     printf( "--------------------------------\n" );
155     pC = bignum_add( pA, pB, pC );
156 
157     pC = bignum_reverse( pC );
158     printf( "A+B=%s\n", pC );
159 
160     memset( pC, 0, MAX_BIT * sizeofchar ) * 2 );
161     printf( "--------------------------------\n" );
162     pC = bignum_sub( pA, pB, pC );
163 
164     pC = bignum_reverse( pC );
165     printf( "A-B=%s\n", pC );
166 
167     memset( pC, 0, MAX_BIT * sizeofchar ) * 2 );
168     printf( "--------------------------------\n" );
169     pC = bignum_mul( pA, pB, pC );
170 
171     pC = bignum_reverse( pC );
172     printf( "A*B=%s\n", pC );
173 
174     return 0;
175 }
176 

Feedback

# re: 大數(shù)運(yùn)算  回復(fù)  更多評論   

2014-07-26 15:45 by 云騰
用long long類型的,基本上都能支持了。www.cppentry.com
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲日本中文字幕| 久久久精品2019中文字幕神马| 玖玖在线精品| 久久一区二区三区四区| 久久综合九色综合久99| 久久躁日日躁aaaaxxxx| 欧美在线free| 久久综合影音| 欧美激情视频在线播放 | 国产视频精品网| 国产日韩欧美不卡在线| 精品88久久久久88久久久| 亚洲高清二区| 亚洲男人第一网站| 久久一区视频| 亚洲高清毛片| 韩国美女久久| 亚洲激情成人| 欧美中文字幕在线播放| 美女露胸一区二区三区| 最新成人在线| 亚洲欧美日韩人成在线播放| 久久久久久综合网天天| 亚洲精品国产精品国自产观看浪潮 | 久久一区欧美| 亚洲视频成人| 久久深夜福利免费观看| 欧美日韩视频第一区| 国产欧美1区2区3区| 在线欧美日韩精品| 亚洲在线黄色| 亚洲欧洲日韩综合二区| 久久精品一区| 国产精品社区| 亚洲九九九在线观看| 久久视频一区| 亚洲免费在线播放| 欧美日韩一区二区视频在线| 亚洲国产成人不卡| 狼人社综合社区| 亚洲一区二区三区乱码aⅴ蜜桃女| 久久免费高清| 国产亚洲精品bt天堂精选| 一区二区三区国产精品| 欧美成人一品| 久久久久久久高潮| 国产资源精品在线观看| 伊人久久综合97精品| 亚洲一区在线视频| 亚洲免费观看高清在线观看 | 亚洲品质自拍| 久久久久国产精品一区| 亚洲美女视频网| 久久久91精品| 国产午夜久久| 欧美亚洲日本国产| 亚洲一区三区视频在线观看| 欧美黄色精品| 雨宫琴音一区二区在线| 久久久水蜜桃av免费网站| 亚洲日本va在线观看| 久久一日本道色综合久久| 黄色亚洲网站| 欧美1区2区3区| 美女91精品| 亚洲欧洲精品天堂一级| 亚洲国产日韩美| 美日韩精品免费观看视频| 在线日韩精品视频| 久久免费精品视频| 另类国产ts人妖高潮视频| 在线看国产日韩| 米奇777在线欧美播放| 久久精品人人做人人综合| 老司机aⅴ在线精品导航| 亚洲午夜av| 在线综合亚洲欧美在线视频| 欧美日本一区二区高清播放视频| 亚洲精品免费在线播放| 免费久久精品视频| 欧美高清视频www夜色资源网| 夜夜嗨av色综合久久久综合网| 亚洲精品国产视频| 国产精品三区www17con| 久久人人超碰| 欧美精品一区二区三区一线天视频 | 久久综合伊人| 99在线|亚洲一区二区| 亚洲一区二区视频在线| 国内精品模特av私拍在线观看| 久久久久久久999精品视频| 久久影视精品| 亚洲无限乱码一二三四麻| 午夜精品久久久久久99热软件| 在线播放不卡| 亚洲天堂成人在线观看| 国产视频一区二区三区在线观看| 女同性一区二区三区人了人一| 欧美日韩日本国产亚洲在线| 久久国产夜色精品鲁鲁99| 欧美黄色一区| 久久久久一本一区二区青青蜜月| 欧美91精品| 亚洲激情网站免费观看| 亚洲男同1069视频| 亚洲日本在线观看| 久久精品日韩欧美| 亚洲欧美一区二区在线观看| 久久久综合香蕉尹人综合网| 亚洲一区中文字幕在线观看| 麻豆91精品| 久久精品视频va| 欧美日本韩国| 亚洲日本精品国产第一区| 国产一区二区三区免费观看| 夜夜嗨av一区二区三区网站四季av| 国内一区二区三区| 国产精品99久久久久久有的能看 | 久久亚洲国产精品一区二区| 欧美区一区二| 美女日韩在线中文字幕| 国产嫩草一区二区三区在线观看 | 欧美一区视频在线| 欧美午夜不卡| 亚洲欧洲日产国产综合网| 亚洲国产精品一区二区尤物区| 香港久久久电影| 亚洲欧美中文字幕| 久久另类ts人妖一区二区| 午夜精品av| 西西人体一区二区| 亚洲一区在线观看视频| 欧美午夜在线观看| 亚洲精品一区二区三区婷婷月 | 99视频精品全部免费在线| 久久理论片午夜琪琪电影网| 性欧美8khd高清极品| 国产精品成人在线观看| 日韩一级大片在线| 一区二区三区四区蜜桃| 欧美激情aⅴ一区二区三区| 欧美wwwwww| 亚洲风情亚aⅴ在线发布| 乱人伦精品视频在线观看| 欧美国产日韩视频| 亚洲福利视频一区二区| 美女主播精品视频一二三四| 免费一级欧美片在线观看| 好吊成人免视频| 欧美在线观看网站| 久久五月婷婷丁香社区| 一区二区三区在线视频观看 | 亚洲欧美日韩成人高清在线一区| 欧美日本免费一区二区三区| 日韩视频―中文字幕| 亚洲制服av| 国产精品免费电影| 性欧美大战久久久久久久免费观看| 久久精品道一区二区三区| 在线成人av网站| 欧美精品自拍| 久久久久久久网站| 亚洲女女女同性video| 国产精品一区二区三区久久久| 欧美在线三区| 欧美激情视频在线播放| 亚洲天堂av在线免费观看| 欧美亚州韩日在线看免费版国语版| 亚洲欧美久久| 亚洲国产91| 欧美在线一级va免费观看| 亚洲国产精选| 国产精品成人免费视频| 久久久www成人免费毛片麻豆| 欧美激情一区二区三区高清视频 | 亚洲精品一区二区三区av| 欧美视频中文字幕在线| 久久久久久久高潮| 亚洲午夜激情在线| 欧美v日韩v国产v| 亚洲欧洲av一区二区| 亚洲电影专区| 国产热re99久久6国产精品| 蜜臀久久99精品久久久画质超高清| 一区二区三欧美| 欧美福利电影网| 久久精品女人| 亚洲伊人伊色伊影伊综合网| 亚洲日本黄色| 加勒比av一区二区| 国产精品女同互慰在线看| 美女免费视频一区| 久久久久国产精品一区| 亚洲中字黄色| 亚洲国产高潮在线观看| 久久尤物电影视频在线观看| 一级成人国产| 99精品欧美| 国产综合久久久久久鬼色| 欧美性生交xxxxx久久久|