thu huong Moderator
Tổng số bài gửi : 25 Registration date : 17/09/2007
| Tiêu đề: ĐỔI TỪ CƠ SỐ 10 SANG CƠ SỐ 2 12/5/2008, 10:17 | |
| - Code:
-
#include <iostream> #include <conio.h>
using namespace std;
const int sobit=4*8;
#define kieu unsigned int
int GetBit(kieu x,int i) { return (x>>i)&1; } void BatBit(kieu& x,int i) { x=x|(1<<i); } void HuyBit(kieu&x,int i) { int t=GetBit(x,i); if(t==1) x=x^(1<<i); } int GetNum(kieu x,int dau,int cuoi) { int k=sobit-1-cuoi; if(k<0) k=0; x=x<<k; x=x>>(k+dau); return x; } //Doi sang co co so 2 void BPrint(int x) { for(int i=sobit-1;i>=0;i--) cout<<GetBit(x,i); }
void main() { int n; cout<<"Nhap n"; cin>>n; BPrint(n); OPrint(n); }
| |
|
thu huong Moderator
Tổng số bài gửi : 25 Registration date : 17/09/2007
| Tiêu đề: doi co so 10 sang 2-8-16 12/5/2008, 10:36 | |
| - Code:
-
#include <iostream> #include <conio.h>
using namespace std;
const int sobit=4*8;
#define kieu unsigned int
int GetBit(kieu x,int i) { return (x>>i)&1; } void BatBit(kieu& x,int i) { x=x|(1<<i); } void HuyBit(kieu&x,int i) { int t=GetBit(x,i); if(t==1) x=x^(1<<i); } int GetNum(kieu x,int dau,int cuoi) { int k=sobit-1-cuoi; if(k<0) k=0; x=x<<k; x=x>>(k+dau); return x; } //Doi sang co co so 2 void BPrint(int x) { for(int i=sobit-1;i>=0;i--) cout<<GetBit(x,i); cout<<endl; } //doi sang co so 8 void OPrint(kieu x) { int i= sobit/3; do{ cout<<GetNum(x,3*i,3*i+2); i--; }while(i>=0); cout<<endl; } //doi sang co so 16 void HPrint(kieu x) { int i=sobit/4-1; do { int t= GetNum(x,4*i,4*i+3); if(t<10) cout<<t; else cout<<(char)(t+55); i--; }while(i>=0); } void main() { int n; cout<<"Nhap n"; cin>>n; BPrint(n); OPrint(n); HPrint(n); }
| |
|