Hàm scanf[]
nhận hai đối số. định dạng định dạng của biến [%d
trong ví dụ trên] và toán tử tham chiếu [&myNum
], lưu trữ địa chỉ bộ nhớ của biến
Mẹo. Bạn sẽ tìm hiểu thêm về địa chỉ bộ nhớ và các chức năng trong chương tiếp theo
Chuỗi đầu vào của người dùng
Bạn cũng có thể lấy một chuỗi do người dùng nhập vào
Thí dụ
Xuất tên của người dùng
// Tạo chuỗi
char firstName[30];
// Yêu cầu người dùng nhập một số văn bản
printf["Nhập tên của bạn. \n"];
// Lấy và lưu văn bản
scanf["%s", firstName];
// Xuất văn bản
printf["Xin chào %s. ", firstName];
Lưu ý rằng bạn phải chỉ định kích thước của chuỗi/mảng [chúng tôi đã sử dụng số rất cao, 30, nhưng ít nhất thì chúng tôi chắc chắn rằng nó sẽ lưu trữ đủ ký tự cho tên] và bạn không phải chỉ định toán tử tham chiếu
Trong chương trình đã đưa vào tệp tiêu đề
// convert decimal to binary
#include
#include
long long convert[int];
int main[] {
int n, bin;
printf["Enter a decimal number: "];
scanf["%d", &n];
bin = convert[n];
printf["%d in decimal = %lld in binary", n, bin];
return 0;
}
long long convert[int n] {
long long bin = 0;
int rem, i = 1;
while [n!=0] {
rem = n % 2;
n /= 2;
bin += rem * i;
i *= 10;
}
return bin;
}
0 để thực hiện các phép toán trong chương trìnhChúng tôi yêu cầu người dùng nhập một số nhị phân và chuyển nó tới hàm
// convert decimal to binary
#include
#include
long long convert[int];
int main[] {
int n, bin;
printf["Enter a decimal number: "];
scanf["%d", &n];
bin = convert[n];
printf["%d in decimal = %lld in binary", n, bin];
return 0;
}
long long convert[int n] {
long long bin = 0;
int rem, i = 1;
while [n!=0] {
rem = n % 2;
n /= 2;
bin += rem * i;
i *= 10;
}
return bin;
}
1 để chuyển đổi thành số thập phânGiả sử
// convert decimal to binary
#include
#include
long long convert[int];
int main[] {
int n, bin;
printf["Enter a decimal number: "];
scanf["%d", &n];
bin = convert[n];
printf["%d in decimal = %lld in binary", n, bin];
return 0;
}
long long convert[int n] {
long long bin = 0;
int rem, i = 1;
while [n!=0] {
rem = n % 2;
n /= 2;
bin += rem * i;
i *= 10;
}
return bin;
}
2. Hãy xem cách thức hoạt động của vòng lặp // convert decimal to binary
#include
#include
long long convert[int];
int main[] {
int n, bin;
printf["Enter a decimal number: "];
scanf["%d", &n];
bin = convert[n];
printf["%d in decimal = %lld in binary", n, bin];
return 0;
}
long long convert[int n] {
long long bin = 0;
int rem, i = 1;
while [n!=0] {
rem = n % 2;
n /= 2;
bin += rem * i;
i *= 10;
}
return bin;
}
3 trong hàm // convert decimal to binary
#include
#include
long long convert[int];
int main[] {
int n, bin;
printf["Enter a decimal number: "];
scanf["%d", &n];
bin = convert[n];
printf["%d in decimal = %lld in binary", n, bin];
return 0;
}
long long convert[int n] {
long long bin = 0;
int rem, i = 1;
while [n!=0] {
rem = n % 2;
n /= 2;
bin += rem * i;
i *= 10;
}
return bin;
}
1N. = 0rem = n % 10n /= 10idec += rem * pow[2, i]1101. = 01101 % 10 = 11101/10 = 11000 + 1 * pow [2, 0] = 1110. = 0110 % 10 = 0110/10 = 1111 + 0 * pow [2, 1] = 110. = 011 % 10 = 111/10 = 121 + 1 * pow [2, 2] = 51. = 01 % 10 = 11/10 = 035 + 1 * pow [2, 3] = 130. = 0---Vòng lặp kết thúc
Vì vậy,
// convert decimal to binary
#include
#include
long long convert[int];
int main[] {
int n, bin;
printf["Enter a decimal number: "];
scanf["%d", &n];
bin = convert[n];
printf["%d in decimal = %lld in binary", n, bin];
return 0;
}
long long convert[int n] {
long long bin = 0;
int rem, i = 1;
while [n!=0] {
rem = n % 2;
n /= 2;
bin += rem * i;
i *= 10;
}
return bin;
}
5 ở dạng nhị phân là Enter a binary number: 1101 1101 in binary = 13 in decimal0 ở dạng thập phân
Bây giờ, hãy xem cách chúng ta có thể thay đổi số thập phân thành số nhị phân
ví dụ 2. Chương trình C chuyển đổi số thập phân sang nhị phân
// convert decimal to binary
#include
#include
long long convert[int];
int main[] {
int n, bin;
printf["Enter a decimal number: "];
scanf["%d", &n];
bin = convert[n];
printf["%d in decimal = %lld in binary", n, bin];
return 0;
}
long long convert[int n] {
long long bin = 0;
int rem, i = 1;
while [n!=0] {
rem = n % 2;
n /= 2;
bin += rem * i;
i *= 10;
}
return bin;
}
đầu ra
Enter a decimal number: 13 13 in decimal = 1101 in binary
Giả sử
Enter a binary number: 1101 1101 in binary = 13 in decimal1. Hãy xem cách thức hoạt động của vòng lặp
// convert decimal to binary
#include
#include
long long convert[int];
int main[] {
int n, bin;
printf["Enter a decimal number: "];
scanf["%d", &n];
bin = convert[n];
printf["%d in decimal = %lld in binary", n, bin];
return 0;
}
long long convert[int n] {
long long bin = 0;
int rem, i = 1;
while [n!=0] {
rem = n % 2;
n /= 2;
bin += rem * i;
i *= 10;
}
return bin;
}
3 trong hàm // convert decimal to binary
#include
#include
long long convert[int];
int main[] {
int n, bin;
printf["Enter a decimal number: "];
scanf["%d", &n];
bin = convert[n];
printf["%d in decimal = %lld in binary", n, bin];
return 0;
}
long long convert[int n] {
long long bin = 0;
int rem, i = 1;
while [n!=0] {
rem = n % 2;
n /= 2;
bin += rem * i;
i *= 10;
}
return bin;
}
1N. = 0rem = n % 2n /= 2ibin += rem * ii * = 1013. = 013 % 2 = 113/2 = 610 + 1 * 1 = 11 * 10 = 106. = 06 % 2 = 06/2 = 3101 + 0 * 10 = 110 * 10 = 1003. = 03 % 2 = 13/2 = 11001 + 1 * 100 = 101100 * 10 = 10001. = 01 % 2 = 11/2 = 01000101 + 1 * 1000 = 11011000 * 10 = 100000. = 0---Vòng lặp kết thúc
Phần này sẽ thảo luận về việc chuyển đổi số nhị phân sang số thập phân. Trước khi đi đến khái niệm, chúng ta cần hiểu về số nhị phân và số thập phân. Như chúng ta biết, máy tính không hiểu những từ hoặc con số mà con người viết hoặc làm. Thay vào đó, nó chỉ hiểu 0 và 1. Ví dụ: khi chúng ta gõ một từ hoặc số trên máy tính, các phần mềm hoặc trình biên dịch khác nhau sẽ giúp chuyển đổi các số hoặc từ này thành dạng nhị phân [bit 0 và bit 1]. Để máy tính có thể dễ dàng hiểu được những
Số nhị phân
Số nhị phân là một số đại diện cho thông tin hoặc dữ liệu được lưu trữ trong máy tính với sự kết hợp của các bit 0 và 1. Nó còn được gọi là hệ thống số cơ sở 2 vì nó có hai bit, 0 và 1. Đây là các số nhị phân [0 và 1] 1001, 1010, 1101, 1111, 1010101, v.v.
số thập phân
Số thập phân là số có 10 chữ số từ 0 đến 9. Cơ số của nó là 10 vì nó tập hợp 10 chữ số [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] và đại diện hoặc tạo ra toàn bộ số bằng mười chữ số này
Thuật toán chuyển đổi nhị phân sang thập phân
- Lấy một số nhị phân làm đầu vào
- Chia số cho 10 và lưu phần còn lại vào biến rem
- decimal_num = decimal_num + rem * base;
Ban đầu, số thập phân là 0 và cơ số là 1, trong đó biến rem lưu trữ phần còn lại của số. - Chia thương của số ban đầu cho 10
- Nhân cơ số với 2
- In phần thập phân của số nhị phân
Chuyển đổi số nhị phân thành số thập phân bằng vòng lặp while
Hãy xem xét chương trình C để chuyển đổi tổ hợp số nhị phân [0 và 1] thành số thập phân bằng cách sử dụng vòng lặp while
chương trình. c
đầu ra
Enter a binary number with the combination of 0s and 1s 1101 The binary number is 1101 The decimal number is 13
Giải thích về mã. Như chúng ta có thể thấy trong chương trình trên, nó yêu cầu một số nhị phân [0 và 1] từ người dùng để lưu số đó vào biến num. Tại mỗi lần lặp, vòng lặp while kiểm tra điều kiện số nhị phân và xác nhận số đã cho không được nhỏ hơn 0;
Sau đây là bước lặp của vòng lặp while, như sau
lần lặp đầu tiên
ram = 1101 % 10 => 1
thập phân_num = 0 + 1 * 1 => 1 [thập phân_val = 0, rem = 1, & cơ sở = 1]
số = 1101/10 => 110
cơ sở = 1 * 2 => 2
lần lặp thứ 2
còn lại = 110% 10 => 0
thập phân_num = 1 + 0 * 2 => 1 [thập phân_val = 1, rem = 0, & cơ sở = 2]
số = 110/10 => 11
cơ sở = 2 * 2 => 4
lần lặp thứ 3
còn lại = 11% 10 => 1
thập phân_num = 1 + 1 * 4 => 5 [thập phân_val = 1, rem = 1, & cơ sở = 4]
số = 11/10 => 1
cơ sở = 4 * 2 => 8
lần lặp thứ 4
còn lại = 1 % 10 => 1
thập phân_num = 5 + 1 * 8 => 1 [decimal_val = 5, rem = 1, & base = 8]
số = 1/10 => 0
cơ sở = 8 * 2 => 16
Chuyển đổi số nhị phân thành số thập phân bằng vòng lặp for
Hãy xem xét một chương trình bằng ngôn ngữ C để chuyển đổi tổ hợp số nhị phân [0 và 1] thành số thập phân bằng cách sử dụng hàm và mảng