Tin Kien Giang K31
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Tin Kien Giang K31

Chao mung den voi dien dan Tin-KG Khoa 31
 
Trang ChínhTìm kiếmLatest imagesĐăng kýĐăng Nhập

 

 ĐỔI TỪ CƠ SỐ 10 SANG CƠ SỐ 2

Go down 
Tác giảThông điệp
thu huong
Moderator
Moderator



Tổng số bài gửi : 25
Registration date : 17/09/2007

ĐỔI TỪ CƠ SỐ 10 SANG CƠ SỐ 2 Empty
Bài gửiTiêu đề: ĐỔI TỪ CƠ SỐ 10 SANG CƠ SỐ 2   ĐỔI TỪ CƠ SỐ 10 SANG CƠ SỐ 2 Empty12/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);
}



Về Đầu Trang Go down
thu huong
Moderator
Moderator



Tổng số bài gửi : 25
Registration date : 17/09/2007

ĐỔI TỪ CƠ SỐ 10 SANG CƠ SỐ 2 Empty
Bài gửiTiêu đề: doi co so 10 sang 2-8-16   ĐỔI TỪ CƠ SỐ 10 SANG CƠ SỐ 2 Empty12/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);
}



Về Đầu Trang Go down
 
ĐỔI TỪ CƠ SỐ 10 SANG CƠ SỐ 2
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Doi Tu Co So 10 Sang Co So 2,8,16
» Chuyen Bieu Thuc Hau To Sang ChungTo

Permissions in this forum:Bạn không có quyền trả lời bài viết
Tin Kien Giang K31 :: Cộng Đồng :: Cộng Đồng :: Thảo luận chung-
Chuyển đến