zoukankan      html  css  js  c++  java
  • 2_C语言中的数据类型 (四)整数与无符号数

    1.1       sizeof关键字

    sizeofc语言关键字,功能是求指定数据类型在内存中的大小,单位:字节

    sizeof与size_t类型

    1.1       int类型

    1.1.1          int常量,变量

    int就是32位的一个二进制整数,在内存当中占据4个字节的空间

    1.1.2          printf输出int值

    %d,输出一个有符号的10进制整数,%u,代表输出一个无符号的十进制整数

    1.1.3          printf输出八进制和十六进制

    %x,代表输出16进制数,%X,用大写字母方式输出16进制数

    %o代表输出八进制数

    1.1.4          short,long,long long,unsigned int

    short意思为短整数,在32位系统下是2个字节,16个比特

    long意思为长整数,在32位的系统下,long都是4个字节的,在64位系统下,windows还是4个字节,unix下成了8个字节。

    Int不管是32位系统下,还是64位系统下,不论是windows还是unix都是4个字节的

    Long long是64位,也就是8个字节大小的整数,对于32位操作系统,CPU寄存器是32位,所以计算longlong类型的数据,效率很低

    9l,9L,9ll,9LL,9u,9ull,9ULL

    1.1.5          整数溢出

    计算一个整数的时候超过整数能够容纳的最大单位后,整数会溢出,溢出的结果是高位舍弃。

    当一个小的整数赋值给大的整数,符号位不会丢失,会继承

    1.1.6          大端对齐与小端对齐

    对于arm,intel这种x86构架的复杂指令CPU,整数在内存中是倒着存放的,低地址放低位,高地址放高位,小端对齐。

    但对于unix服务器的CPU,更多是采用大端对齐的方式存放整数

    #include <stdio.h>
    
    int main()
    {
        int a = 10;//4个字节大小
        short b = 10;
        printf("%d
    ", sizeof(b));
        long c = 10;
        printf("%d
    ", sizeof(c));
        long long d = 10;
        printf("%d
    ", sizeof(d));
        unsigned int e = 10;//unsigned是关键字,代表是无符号数的意思
        printf("%d
    ", sizeof(e));
    
        //unsigned short f;//无符号的short
        //unsigned long g;//无符号的long
        //unsigned long long i;//无符号的long long
    
        //int i1;
    
        unsigned short abc = 0xffff;
        abc = abc + 1 + 99;
        printf("%d
    ", abc);
    
        abc = 2;
        abc = abc - 5;
        printf("%d
    ", abc);
    
        int i1 = 0x12345678;
        abc = i1;
        printf("%x
    ", abc);
    
        short abc1 = -2;
        i1 = abc1;
        printf("%x
    ", i1);
    
        unsigned short abc2 = 0;
        abc2 = abc2 - 1;
        printf("%d
    ", abc2);
    
        int a1 = 0x12345678;
        printf("%p
    ", &a1);//%p的意思是显示一个内存的地址,&a1代表变量a1的地址编号
    
        return 0;
    }

     资料来源:传智播客 仅供学习研究

  • 相关阅读:
    ACM spiral grid
    ACM 数独
    Codeforces Round #242 (Div. 2) A. Squats
    Codeforces Round #242 (Div. 2) B. Megacity
    Codeforces Round #242 (Div. 2) C. Magic Formulas
    Coder-Strike 2014
    Coder-Strike 2014
    Coder-Strike 2014
    ACM Same binary weight
    C puzzles详解【13-15题】
  • 原文地址:https://www.cnblogs.com/wuchuanying/p/6284378.html
Copyright © 2011-2022 走看看