Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Chuyển tiếng Việt có dấu thành mã nhị phân trong C

20:20 05-06-2017 616 lượt xem 1 bình luận 21:58 05-06-2017

Em muốn nhập 1 chuỗi tiếng Việt có dấu vào chương trình sau đó xuất chuỗi vừa nhâp đó  ra màn hình dưới dạng mã nhị phân và ngược lại.

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 21:58 05-06-2017

chuỗi tiếng việt bạn tham khảo

chuỗi -> binary

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char* stringToBinary(char* s) {
    if(s == NULL) return 0; /* no input string */
    size_t len = strlen(s);
    char *binary = malloc(len*8 + 1); // each char is one byte (8 bits) and + 1 at the end for null terminator
    binary[0] = '\0';
    for(size_t i = 0; i < len; ++i) {
        char ch = s[i];
        for(int j = 7; j >= 0; --j){
            if(ch & (1 << j)) {
                strcat(binary,"1");
            } else {
                strcat(binary,"0");
            }
        }
    }
    return binary;
}

 

binary -> chuỗi

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    char *data = "01010110";
    char c = strtol(data, 0, 2);
    printf("%s = %c = %d = 0x%.2X\n", data, c, c, c);
    return(0);
}

 

Câu hỏi mới nhất