30/09/2018, 18:15
Chuyển kí tự từ A-Z về nhị phân
Bác nào cho em xin code chuyển kí tự từ A-Z về số nhị phân với!
#include<iostream>
using namespace std;
int daoso(int n)
{
int s=0;
while(n>0)
{
s=s*10+n%10;
n=n/10;
}
return s;
}
int nhiphan(int n)
{
int s=0;
while(n>0)
{
s=s*10+n%2;
n=n/2;
}
cout<<endl<<" Chua dao: "<<s<<endl;
int t=daoso(s);
return t;
}
int ma()
{
char i;
for(i='A';i<='Z';i++)
{
cout<<char(i)<<" "<<int(i)<<" "<<nhiphan(i)<<endl;
}
}
int main()
{
ma();
return 0;
}
Em code được đến đây rồi nhưng vẫn còn vấn đề chưa giải quyết được.
Ví dụ:Kí tự B-66:100001, đúng là 100010, bị mất một số 0 à!
Bài liên quan
Muốn ngta giúp thì đọc mấy cái topic đc ghim ở đầu page trước đi nhé.
Không mấy bao nhiêu thời gian đâu.
thớt giúp em với! mới tham gia, có gì mong thớt chỉ giáo em
Vấn đề của bạn ở đây là ‘3’
Các số 0 đầu tiên đều bị loại trừ
Giả sử 66 nha
Đáng lẽ nó phải là 01 nhưng nó chỉ lưu đc 1.
Nên khi bạn đảo thì nó mất tích mấy số 0 ở cuối.
Vậy thì lúc đảo dãy bit cần thêm vài số 0 vào sao cho đủ số bit.
1 kí tự dùng 8 bits để lưu, nhưng bit thứ 8 ko xài (0100 0000), nên thêm vào cuối sao cho đủ 7bit là đc
(Ko phải ko xài mà là nó dùng cho các kí tự khác, alphabet thì nó ko xài)