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()可以获得一个对象或类型所占用的内存空间
最新文章
- Bubble Cup 8 finals E. Spectator Riots (575E)
- Android笔记——Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
- Linux学习笔记(6)-文件I/O
- 【爬虫】BeautifulSoup之爬取百度贴吧的帖子
- 学习 HTML5-页面结构(1)
- CLR via C#(02)-基元类型、引用类型、值类型
- Google可能会用苹果的Swift 为什么?
- mysql高可用之PXC(Percona XtraDB Cluster)
- 深入学习netty系列(1)
- [转]把项目从VS2005升级到VS2013
- 来讲讲C#中的类
- C程序设计语言之一
- 分区数据库oracle自动分区
- css实现未知高度水平垂直居中
- gradle 排除jar包依赖
- go标准库的学习-errors
- java 中 byte[]、File、InputStream 互相转换
- Java+selenium 如何定位下拉框select
- Linux变量及运算
- nginx “403 Forbidden” 错误的原因及解决办法
热门文章
- eclipse导入myeclipse的web项目
- (easy)LeetCode 257.Binary Tree Paths
- Android--Intent的使用
- python函数 位置参数,关键字参数,可变参数优先级
- (转)由Uploadify插件想到的Flash无法传递Session和Cookie的问题解决
- Codeforces Round #218 (Div. 2) B. Fox Dividing Cheese
- 【LeetCode】84. Largest Rectangle in Histogram
- 如何绕过CDN找源站ip?
- Do less things
- noip2007 树网的核