初学C语言1.3-数据类型及取值范围

标识符(identifier)
和变量名定义相同

sizeof运算符
sizeof运算符用于获得数据类型或表达式的长度

sizeof(object); //sizeof(对象)
sizeof(type_name); //sizeof(类型)
sizeof object; //sizeof 对象

例:求各数据类型字符长度

#include <stdio.h>

int main() 
{
	printf("int=%d\n",sizeof(int));  //4
	printf("short int = %d\n",sizeof(short));  //2
	printf("long int = %d\n", sizeof(long));  //4
	printf("long long int = %d\n", sizeof(long long));  //8
	printf("char = %d\n", sizeof(char));  //1
	printf("bool = %d\n", sizeof(bool));  //1
	printf("float = %d\n", sizeof(float));  //4
	printf("double = %d\n", sizeof(double));  //8
	printf("long double = %d\n", sizeof(long double));  //12

	return 0;
}

类型限定符
signed(带符号位)和unsigned(不带符号位)
用于限定char类型或任何整型变量的取值范围
例: [signed] short [int]
unsigned short [int]
[sigend] int
unsigned int

例:用代码对比signed和unsigned的区别

#include <stdio.h>

int main() 
{
	short i;
	unsigned short j;

	i = -1;
	j = -1;

	printf("%d\n", i);  //-1
	printf("%u\n", j);  //65525

	return 0;
}

取值范围
1Byte == 8bit
在这里插入图片描述
2的n次方减一
二进制 11 2x2-1=3 十进制 3
111 2x2x2-1=7 7
1111 2x2x2x2-1=15 15

例:(二进制数转十进制数)求2的32次方减一的值

#include <stdio.h>
#include <math.h>
int main() 
{
	unsigned int result = pow(2, 32) - 1;	//求的为2的32次方减一
	printf("result = %u\n", result);

	return 0;
}

符号位

无符号类型使用%u

一个32位的整型变量,除去左边第一位符号位,剩下表示值的只有31个比特位

计算机是用补码的形式来存放整数的值

基本类型取值范围

整数型
在这里插入图片描述
浮点型
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值