AntonioVillanueva

Conversor Binario a Octal

Nov 3rd, 2020
363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. /*Converson binario Octal c++11
  2.  * https://wandbox.org/permlink/eyfS6emkttJRr9di
  3.  * Pagina tests https://cual-es-mi-ip.online/herramientas/conversores-numericos/conversor-binario-a-octal/
  4.  * Antonio Villanueva
  5.  * */
  6. #include <iostream>
  7. #include <string>
  8. #include <cmath> //funcion potencia pow()
  9. using namespace std;
  10.  
  11. int bintoctal(string cadena){
  12.     int octal(0);//Conversion a octal
  13.     int pot(0);//Potencias de 2
  14.    
  15.     while (cadena.size()){
  16.         octal += cadena.back()=='1' ? pow(2,pot)  : 0;
  17.         cadena.pop_back();//elimina ultimo caracter cadena
  18.         pot++;// potencias binarias 2^0 2^1 2^2
  19.     }
  20.     return octal;
  21. }
  22.  
  23. int main (){
  24.     //string n="10101010";//Cadena binaria de ejemplo 252
  25.     //string n="1110111";//Cadena binaria de ejemplo  167  
  26.     string n="10101100";//Cadena binaria de ejemplo  254    
  27.  
  28.     while (! (n.size()%3==0) ){n='0'+n;}//Ecualizador de tam ,si no es x3 anade 0
  29.            
  30.     while (n.size()){
  31.             bintoctal (n.substr(0,3)) ;
  32.             cout<< bintoctal (n.substr(0,3)) ; //Extrae 3 bits y los convierte a octal
  33.             n=n.substr(3);//Elimina 3 bits (caracteres de la cabacera)
  34.     }
  35.     return 0;
  36. }
  37.  
Add Comment
Please, Sign In to add comment