Advertisement
huutho_96

Nhị Phân

Dec 23rd, 2015
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1. //https://www.facebook.com/CungHocLapTrinhUIT/
  2.  
  3. #include <iostream>
  4. using namespace std;
  5. char a[3] = "01";
  6.  
  7. //phương pháp vòng lặp hay gọi là sử dụng mảng để lưu lại giá trị các bit 0 1, phương pháp này cần 1 mảng để lưu
  8. void vonglap(int n)
  9. {
  10.     char a[33];
  11.     int i = 0;
  12.     while (n > 0)
  13.     {
  14.         a[i++] = ((n % 2 == 0) ? '0' : '1');
  15.         n = n / 2;
  16.     }
  17.     for (int j = i - 1; j >= 0; j--)
  18.         cout << a[j];
  19. }
  20.  
  21. //phương pháp đệ quy gọn gàng tuy nhiên tốn nhiều thời gian, tuy nhiên chênh lệch này không đáng kể
  22. int dequy(int n)
  23. {
  24.     if (n > 0)
  25.     {
  26.         dequy(n / 2);
  27.         cout << a[n % 2];
  28.     }
  29.     return n;
  30. }
  31.  
  32. //phương pháp so bit có thể in dư các bit 0 không cần thiết ở đầu, có thể dùng 1 khóa để tránh việc này nếu cần
  33. void sobit(int n)
  34. {
  35.     int numOfBit = sizeof(n)* 8;
  36.     int i;
  37.     for (i = numOfBit - 1; i >= 0; --i)
  38.     {
  39.         cout << ((n >> i) & 0x01);
  40.     }
  41. }
  42.  
  43. void main()
  44. {
  45.     dequy(254);
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement