30/09/2018, 16:11
Chuyển đổi các hệ cơ số hoạt động như thế nào?
Em lấy code trên http://www.cplusplus.com/ nhưng không hiểu.
Đoạn code dưới đây nó sẽ đổi từ hệ 10 sang hệ 16 rồi sang hệ 2 . Nhưng khi em bỏ dòng
itoa (i,buffer,10);
printf ("decimal: %s
",buffer);
Thì nó lại không đổi được. Mọi người giải thích giúp em tại sao nó lại thế?
Đây là code hoàn chỉnh của bài này
/* itoa example */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i;
char buffer [33];
printf ("Enter a number: ");
scanf ("%d",&i);
itoa (i,buffer,10);
printf ("decimal: %s
",buffer);
itoa (i,buffer,16);
printf ("hexadecimal: %s
",buffer);
itoa (i,buffer,2);
printf ("binary: %s
",buffer);
return 0;
}
Bài liên quan
Bài này người ta tận dụng hàm itoa là hàm chuyển đổi giữa integer và character. Hàm này cho phép mình chuyển đổi theo hệ cơ số. sang 10, 16 hay 2.
Nên nếu em bỏ đi thì làm sao mà chạy được.
tức là chuyển i sang hệ 10, lưu vào buffer.
Tương tự cho các câu lệnh khác.
Thưa anh
Em biết rằng nếu ta nhập số 18 vào và đổi nó sang hệ 10 thi
buffer[0]==‘1’
buffer[1]==‘8’
buffer[2]==NULL
anh có thể chỉ em cơ chế để chuyển sang hệ 16 của dòng
itoa (i,buffer,16);
Em cảm ơn anh !
Em có thể tham khảo code này
Nguồn: http://www.geeksforgeeks.org/implement-itoa/
Sau 1 dòng lệnh nhỏ nhỏ là 1 sự vĩ đại !!