Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- int eight(int f){ //отдельная функция для перевода в восьмеричную систему
- int m[100];
- int i=0;
- while(f!=0){
- m[i]=f%8;
- f=f/8;
- i++;
- }
- for (int j=i-1;j>=0;j--){
- f=m[j]+f*10;
- }
- return f;
- }
- int main(){ //основная функция
- int B[9];
- int a,b=0,c,d,g,numb1,numb2;
- cout <<"Put eight numbers by example: x1 x2 x3.... xn\n";
- for(int v = 0;v<8;v++ ){
- cin >> B[v];
- b=0;
- numb1=g=d=B[v];
- while(B[v]!=0){
- B[v]=B[v]/2;
- b++; //определяем кол-во бит, без учёта незначащих нулей
- }
- c=(b+7)/8; //определяем кол-во задействованных байт
- c=c*8-1; //определяем кол-во занятый бит
- if(d%2!=0){ //цикл для нечётных чисел
- while(c>-1){
- d &= ~(1 << c); //зачемняем нечётные биты нулями
- c=c-2;
- }
- }
- else{ //цикл для чётных чисел
- c=c-1;
- while(c>-1){
- d |= (1 << c); //зачемняем чётные биты единицами
- c=c-2;
- }
- }
- numb2=d;
- cout << numb1 <<"\t"<< eight(numb1)<<"\t"<< numb2<<"\t"<<eight(numb2)<<endl;
- }
- system ("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement