小编Man*_*tti的帖子

如何将值存储在c中的不同数据类型中

我想知道数据类型是如何存储在c中的,所以我编写了一个程序来检查值的存储方式.当我看到输出时,我无法理解内存中不同数据类型的存储值.

这是我试过的程序,

#include <stdio.h>

int main() {
    int x;
    int valI, i;
    short valS;
    long valL;
    signed valSi;
    unsigned valUn;

    // printf("enter a num");
    // scanf("%d",&x);

    x = -10;
    valI = x;
    valS = x;
    valL = x;
    valSi = x;
    valUn = x;


    printf("\n\t%i\t%li\n",valI,sizeof(valI));

    for(i = 8*sizeof(valI); i >= 0 ; i--)
    {
        printf("%i",(valI & (1<<i))? 1 : 0);
    }


    printf("\n\t%i\t%li\n",valS,sizeof(valS));

    for(i = 8*sizeof(valS); i >= 0 ; i--)
    {
        printf("%i",(valS & (1<<i))? 1 : 0);
    }

    printf("\n\t%li\t%li\n",valL,sizeof(valL));

    for(i …
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
1
解决办法
111
查看次数

标签 统计

c ×1