C-020.变量的修饰符 short、long、longlong、unsigned

变量的修饰符

 1.1修饰长度(针对64位操作系统)

 int    4字节

 short  2字节 %hd

 long   8字节 %ld

 long long 8字节 %lld

 

 1.2无符号修饰符

 unsigned int    4字节 %u

 unsigned short  2字节 %hu

 unsigned long   8字节 %lu

 unsigned long long 8字节 %llu

 

 所有的都是用来修饰int 所以int 是可以省略

 

 2、修饰符号

 signed    有符号的数(基本省略)

 unsigned  无符号的数

 

 无符号的数,只能表示正数,不能表示负数,最高位不是符号而是数据位  %u

 

 修饰符号修饰符可以修饰所有修饰长度修饰符


int main(int argc, const char * argv[]) {
    /*
       int中最小的数 1000 0000 0000 0000 0000 0000 0000 0000  -2的31次方
     
       int中最大得数 0111 1111 1111 1111 1111 1111 1111 1111   2的31次方-1
     */
    int a = (1 << 31) - 1;//int 所能够表示范围  -2的31次方 ~ 2的31次方-1
    printf("%d\n",a+1);
    
    short  h = (1 << 15) -1;  // short 所能表示的范围 -2的15次方 ~ 2的15次方-1
    printf("%hd\n",h);
    
    long  l =  ((long)1 << 63) -1; // long 所能表示范围 -2的63次方 ~ 2的63次方-1
    printf("%ld\n",l);
    
    long long ll = ((long long)1 << 63) -1;//long long 所能表示范围 -2的63次方 ~ 2的63次方-1
    printf("%lld\n",ll);
    
    //无符号修饰
    unsigned int ui = 0b11111111111111111111111111111111; //  0 ~ 2的32次方-1
    printf("%u\n",ui);
    
    unsigned short us = 1; // 0 ~ 2的16次方-1
    printf("%hu\n",us);
    
    unsigned long  lu = 1; // 0 ~ 2的64次方-1
    printf("%lu\n",lu);
    
    unsigned long long  llu = 1; // 0 ~ 2的64次方-1
    printf("%llu\n",llu);

    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值