请教一个函数的实现?
#include <iostream.h>
#include <string.h>
#include <conio.h>
class binary {
char bits[16];
public:
binary(char *);
binary(int);
friend binary operator + (binary, binary);
operator int();
void print();
};
binary::binary(char *num) {
int isrc = strlen(num) - 1;
int idest = 15;
while(isrc > = 0 && idest > = 0)
bits[idest--] = (num[isrc--]== '0 '? '0 ': '1 ');
while(idest > = 0)
bits[idest--]= '0 ';
}
binary::binary(int num) {
for(int i = 15; i > = 0; i--) {
bits[i] = (num %2 == 0? '0 ': '1 ');
num > > = 1;
}
}
binary operator + (binary n1, binary n2) {
unsigned carry = 0;
unsigned value;
binary res = "0 ";
for(int i = 15; i > = 0; i--) {
value = (n1.bits[i] == '0 '?0:1) + (n2.bits[i] == '0 '?0:1) + carry;
res.bits[i] = (value%2 == 0 ? '0 ': '1 ');
carry = value> > 1;
}
return res;
}
binary::operator int() {
unsigned value = 0;
for (int i = 0; i <= 15; i++)
value =( (1) ) + (bits[i]== '0 '?0:1);
return value;
}
void binary::print() {
char str[17];
strncpy(str, bits, 16);
str[16] = '\0 ';
cout < < str < < "\n ";
}
int main() {
binary n1 = "1011 ";
binary n4 = int(n1) + 15;
cout < < "n4... " < <endl;
n4.print();
return 1;
}
请教高手(1)处应该填写什么代码?
[解决办法]
value < <1
[解决办法]
value < <1