Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <math.h>
- #define size 10//how many bits to present the integer
- void getBits(int, int[], int);
- int main(void) {
- int bits [size]= { 0 };//initial all bits to 0;
- getBits(10, bits, 2);//10進位10的2進位表示法
- int bits2 [size]= { 0 };//initial all bits to 0;
- getBits(4, bits2, 2);//10進位4的2進位表示法
- int total [size]= { 0 };//initial all bits to 0;
- int c=0;
- for(int j=0;j<size-1;j++){
- int d= ceil((bits[j]+bits2[j]+c)/2);
- total[j]=(bits[j]+bits2[j]+c)-2*d;
- c=d;
- }
- total[size]=c;
- for (int i=size-1; i>=0; i--) {
- printf("%d", total[i]);
- }
- return 0;
- }
- void getBits(int integer, int bits[], int b) {
- int q=integer;
- int k=0;
- while (q!=0) {
- bits[k]=q%b;//get the mod;
- q=ceil(q/b);//Returns the smallest integer value greater than or equal to x.
- k+=1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement