数据在内存中的存取

1整型在内存中的存取

内存中存取的用的是补码

大小端

大端字节序存取与小端字节序存取
只有超过1个字节才有大小端,才有顺序问题在这里插入图片描述

int main()
{
	char a = -1;
	/*
	-1
	10000000000000000000000000000001原码
	11111111111111111111111111111111补码
	11111111截断
	11111111111111111111111111111111整型提升
	10000000000000000000000000000001原码
	*/
	signed char b= - 1;
	unsigned char c = -1;
	/*
	-1
	10000000000000000000000000000001原码
	11111111111111111111111111111111补码
	11111111截断
	00000000000000000000000011111111整型提升
	00000000000000000000000011111111原码
	*/
	char d = -128;
	/*
	-128
	10000000000000000000000010000000原码
	11111111111111111111111110000000补码
	10000000截断
	11111111111111111111111110000000整型提升
	整型提升:有符号补符号位,无符号数补零

	*/
	char f = 128;
	/*
	128
	00000000000000000000000010000000补码
	10000000截断
	11111111111111111111111110000000整型提升

	*/
	printf("%d %d %d %u %u", a, b, c,d,f);
	//%u打印无符号整数
	return 0;
}

char -128到127,构成循环
unsigned char范围 0到255
在这里插入图片描述
在这里插入图片描述
答案255

unsigned char i = 0;
int main()
{
	for (i = 0; i <= 255; i++)
	{
		printf("ai");//死循环
	}
}

在这里插入图片描述
在这里插入图片描述

2浮点型在内存中的存取

在这里插入图片描述
浮点型与整型在内存中存取方式是有差异的

存放

在这里插入图片描述
在这里插入图片描述
对E进行修正
float E +127
double E +1023

拿取

1>普通情况
2>e为全0 接近0的一个数
3>e为全1 接近一个非常大的数
浮点数在内存中有可能是不能精确保存的
浮点数最好不要直接比较
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值