c语言学习第四天数据类型1

int   代表整数,它在内存中占4个字节,二进制的表示方式是占用了三十二位,二进制中只包含0和1,那它的最大值就是全为1,但int是

有符号类型,所以最高位(左边的第一位)要拿出来做符号位,这样就只有31位用来保存数字了,转换成十进制它的最大值为

2147483647,这个数值可以在计算器上计算得到,最高位为0代表正数,为1代表负数,最小值就是在最大数前添加一个负号,但是因

为0的原因会有正0和负0,因此将负0作为最小值,也就是将最小值再减去1得出int的最小值:-2147483648

注意:如果变量的类型为整形,赋值给变量带有小数,则输出变量时,小数部分会省去

 

long和int类似,不过long在32位系统上占4个字节,在64位系统上是8个字节, 在32位系统上可以用long long来占用8字节  示例:

#include<stdio.h>
int main()
{
  long x=21474836472;
  printf("%ld",x);
  return 0;
}

%ld  l代表long, d代表int  合起来就是long int(长整形)

#include<stdio.h>
int main()
{
  unsigned int x=4294967294;
  printf("%u",x);
  return 0;
}

unsigned 代表无符号,无符号整形占用4个字节,由于符号位也可以用来表示数值,因此比有符号位大一倍,但是由于没了符号位所以

只能表示正数,u代表unsigned

#include<stdio.h>
int main()
{
  unsigned long x=2147483647;
  printf("%lu",x);
  return 0;
}

 

短整形:

#include<stdio.h>

int main()
{
  short x=32767;
  printf("%hd",x);
  return 0;
}

short跟int类似,占两个字节 ,h代表short

#include<stdio.h>
int main()
{
  unsigned short x=65535;
  printf("%hu",x);
  return 0;
}

 

将整数的值转为8进制

#include<stdio.h>
int main()
{
  int x=16;
  printf("%#o\n",x);
  return 0;
}

o代表用八进制的格式来输出整形数据,#代表输出八进制的前缀

下面的是将整形的值转变为16进制

#include<stdio.h>
int main()
{
  unsigned int x=16;
  printf("%#x\n",x);
  return 0;
}

x代表十六进制,可以通过前缀来区分是八进制数还是十六进制数

 

使用typedef定义别名

#include<stdio.h>
int main()
{
  typedef unsigned short int us;
  us a=1,b=2,c=3;
  printf("%hu+%hu-%hu\n",a,b,c);
  return 0;
}

别名定义:unsigned short int -->us

 

浮点型变量:

#include<stdio.h>
int main()
{
  float a;
  double b;
  long double c;
  return 0;
}

float,double, long double   分别代表单精度,双精度,长双精度

float型变量占4个字节,取值范围为-3.4*10的38次到3.4*10的38次

#include<stdio.h>
int main()
{
  float x=3.40e38f;
  printf("%f",x);
  return 0;
}

e代表10,e38就代表10的38次,如果是-38就代表10的负38次方

f说明这是一个float类型的数值,假如不加f说明,编译器会认为这是一个double类型的数值

double型变量的取值范围,在内存中占8个字节

#include<stdio.h>
int main()
{
  double x=1.79e308;
  printf("%f",x);
  return 0;
}

 

#include<stdio.h>
int main()
{
  int x=sizeof(double);
  printf("%d\n",x);
  return 0;
}

sizeof()可以获得一个对象或类型所占用的内存空间

转载于:https://www.cnblogs.com/linuxboke/p/5597836.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值