进制+数据存储

57 阅读1分钟

所有数据以01形式存储

int main(){
    int a = 0b11;
    //0b引导2进制
    int b = 0135;
    //0引导8进制
    int c = 0x199;
    //0x引导16进制
    printf("%d\n",a);
    printf("%d\n",b);
    printf("%d\n",c);
    return 0;
}

{在 C 语言中,可以通过以下步骤实现十进制转二进制:

  1. 使用一个数组来存储二进制数的每一位。
  2. 使用一个循环,每次将十进制数除以 2,并将余数存储在数组中。
  3. 将十进制数更新为其除以 2 的商。
  4. 重复上述步骤,直到十进制数变为 0。
  5. 从数组中逆序输出二进制数的每一位。

以下是一个示例代码:

#include <stdio.h>

void decToBinary(int n) {
    int binaryNum[32];
    int i = 0;
    while (n > 0) {
        binaryNum[i] = n % 2;
        n = n / 2;
        i++;
    }
    for (int j = i - 1; j >= 0; j--)
        printf("%d", binaryNum[j]);
}

int main() {
    int n;
    printf("Enter a decimal number: ");
    scanf("%d", &n);
    printf("Binary representation: ");
    decToBinary(n);
    return 0;
}

这个程序首先定义了一个 decToBinary 函数,该函数接受一个十进制数 n 作为参数,并将其转换为二进制数。在 main 函数中,用户输入一个十进制数,然后调用 decToBinary 函数来打印出该数的二进制表示。

代码位置:0711dig.c}

image.png (内存依编译器而定)

image.png

image.png 1.浮点运算有一定误差(double双精度浮点数) 2.double引导printf("%lf")