Hướng dẫn decimal to binary c++ without array - thập phân sang nhị phân C++ không có mảng

Cập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21:51:28 (UTC/GMT +8 giờ)

C cho vòng lặp: Tập thể dục-41 với giải pháp

Viết một chương trình trong C để chuyển đổi số thập phân thành nhị phân mà không cần sử dụng một mảng.

Trình bày bằng hình ảnh:

Hướng dẫn decimal to binary c++ without array - thập phân sang nhị phân C++ không có mảng

Giải pháp mẫu:

Mã C:

#include 
#include 
char *decimal_to_binary(int);
char *decimal_to_binary(int dn)
{
  int i, j, temp;
  char *ptr;
  temp = 0;
  ptr = (char*)malloc(32+1);
  for (i = 31 ; i >= 0 ; i--)
  {
    j = dn >> i;
    if (j & 1)
      *(ptr+temp) = 1 + '0';
    else
      *(ptr+temp) = 0 + '0';
    temp++;
  }
  *(ptr+temp) = '\0';
  return  ptr;
}
int main()
{
  int dn;
  char *ptr;
  printf("Input a decimal number: ");
  scanf("%d", &dn);
  ptr = decimal_to_binary(dn);
  printf("Binary number equivalent to said decimal number is: %s", ptr);
  free(ptr);
  return 0;
}
 

Đầu ra mẫu:

Input a decimal number: 25
Binary number equivalent to said decimal number is: 0000000000000000000000000001
1001
--------------------------------
Process exited after 3.388 seconds with return value 0
Press any key to continue . . .
Input a decimal number: 105
Binary number equivalent to said decimal number is: 0000000000000000000000000110
1001
--------------------------------
Process exited after 5.013 seconds with return value 0
Press any key to continue . . .
Input a decimal number: 1105
Binary number equivalent to said decimal number is: 0000000000000000000001000101
0001
--------------------------------
Process exited after 17.33 seconds with return value 0
Press any key to continue . . .

Sơ đồ:

Hướng dẫn decimal to binary c++ without array - thập phân sang nhị phân C++ không có mảng

C Trình chỉnh sửa mã lập trình:

Cải thiện giải pháp mẫu này và đăng mã của bạn thông qua Disqus.

Trước đây: Viết chương trình C để hiển thị mẫu như kim tự tháp bằng bảng chữ cái. Write a C Program to display the pattern like pyramid using the alphabet.
Next: Write a program in C to convert a binary number into a decimal number without using array, function and while loop.

C Lập trình: Mẹo trong ngày

Từ khóa tự động C được sử dụng ở đâu?

Tự động là một công cụ sửa đổi như tĩnh. Nó xác định lớp lưu trữ của một biến. Tuy nhiên, vì mặc định cho các biến cục bộ là tự động, bạn thường không cần chỉ định thủ công nó.

Tham khảo: https://bit.ly/2ypngpy

Hãy viết một chương trình C để chuyển đổi một số từ hệ thống số thập phân (cơ sở 10) sang hệ thống số nhị phân (cơ sở 2), sử dụng trong khi vòng lặp.

Đọc liên quan: Trong khi vòng lặp trong C Lập trình hóa tổng số chữ số
while loop in C programming
Calculate Sum of Digits: C Program
C Program To Reverse a Number

Lưu ý: Hệ thống số nhị phân có thể được lấy từ cơ sở 2 với sức mạnh của toàn bộ số. Binary number system can be derived by base 2 to the power of whole numbers.

Ví dụ: vv .. 24, 23, 22, 21, 20
etc .. 24, 23, 22, 21, 20

vv .. 24 = 16, 23 = 8, 22 = 4, 21 = 2, 20 = 1.

Hướng dẫn decimal to binary c++ without array - thập phân sang nhị phân C++ không có mảng

  • Đầu ra dự kiến ​​cho đầu vào
  • Logic để chuyển đổi số thập phân thành số nhị phân, sử dụng trong khi vòng lặp
  • Mã nguồn: C Chương trình chuyển đổi số thập phân thành số nhị phân, sử dụng trong khi vòng lặp
  • Hệ thống số

Đầu ra dự kiến ​​cho đầu vào

Logic để chuyển đổi số thập phân thành số nhị phân, sử dụng trong khi vòng lặp
Enter a decimal number
14

Mã nguồn: C Chương trình chuyển đổi số thập phân thành số nhị phân, sử dụng trong khi vòng lặp
Binary equivalent of 14 is 1110

Đầu vào của người dùng: Nhập số thập phân14
If user enters num = 14

Đầu ra: Tương đương nhị phân là 14 là 1110

Giải thích: Nếu người dùng nhập Num = 14
07 / 2 = 3, reminder 1.
03 / 2 = 1, reminder 1.

Hướng dẫn decimal to binary c++ without array - thập phân sang nhị phân C++ không có mảng

Chúng tôi tiếp tục chia số 14 cho 2.

14/2 = 7, nhắc nhở 0,07 / 2 = 3, nhắc nhở 1.03 / 2 = 1, nhắc nhở 1.

Vì vậy, nhị phân tương đương 14 là 1110.
= 8 + 4 + 2
= 14.

HOẶC


Logic để chuyển đổi số thập phân thành số nhị phân, sử dụng trong khi vòng lặp

Mã nguồn: C Chương trình chuyển đổi số thập phân thành số nhị phân, sử dụng trong khi vòng lặp

Mã nguồn: C Chương trình chuyển đổi số thập phân thành số nhị phân, sử dụng trong khi vòng lặp

#include < stdio.h >

int main()
{
    int num, bin = 0, rem = 0, place = 1;

    printf("Enter a decimal number\n");
    scanf("%d", &num);

    printf("\nBinary equivalent of %d is ", num);
    while(num)
    {
        rem   = num % 2;
        num   = num / 2;
        bin   = bin + (rem * place);
        place = place * 10;
    }
    printf("%d\n", bin);

    return 0;
}

Đầu ra 1: Nhập số thập phân14
Enter a decimal number
14

Nhị phân tương đương 14 là 1110

Đầu ra 2: Nhập số thập phân15
Enter a decimal number
15

Nhị phân tương đương 15 là 1111

Đầu ra 3: Nhập số thập phân19
Enter a decimal number
19

Nhị phân tương đương 19 là 10011

Đầu ra 4: Nhập số thập phân8
Enter a decimal number
8

Nhị phân tương đương 8 là 1000

Đầu ra 5: Nhập số thập phân41
Enter a decimal number
41

Nhị phân tương đương 41 là 101001

Hệ thống số

Hướng dẫn decimal to binary c++ without array - thập phân sang nhị phân C++ không có mảng

1. Hệ thống số nhị phân sử dụng cơ sở 2 và chữ số 01.2. Hệ thống số octal sử dụng cơ sở 8 và chữ số 01234567.3. Hệ thống số thập phân sử dụng cơ sở 10 và chữ số 0123456789.4. Hệ thống số thập lục phân sử dụng cơ sở 16 và chữ số 0123456789ABCDEF. Binary Number System uses base 2 and digits 01.
2. Octal Number System uses base 8 and digits 01234567.
3. Decimal Number System uses base 10 and digits 0123456789.
4. Hexadecimal Number System uses base 16 and digits 0123456789ABCDEF.

Đối với danh sách tất cả các cuộc phỏng vấn lập trình C / câu hỏi và câu trả lời của Viva

Đối với toàn bộ C Lập trình C Danh sách hướng dẫn video miễn phí