#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
char a = 128;
/*一个字节是八个比特位
int型数据是四个字节,char型数据是一个字节
128的原码
00000000 00000000 00000000 10000000
128的反码、补码相同(正数的原码、补码、反码相同)
因为128属于整型数据,a变量属于字符型,128存储进a会被截断
10000000 --》存入变量a中,在vs软件中默认char为有符号字符型
%u是以无符号整型输出
此时,10000000 需要整型提升
因为存入变量a中属于有符号字符型数据
整型提升需要在前面补符号位,如果为无符号型数据只需要在前面补0达到所需要输出类型比特位
11111111 11111111 11111111 10000000 -》4294967168
%d是以有符号整型输出
11111111 11111111 11111111 10000000 是补码
10000000 00000000 00000000 10000000 是原码 -》-128
*/
printf("%u\n", a);//4294967168
printf("%d\n", a);//-128
return 0;
}
#include<stdio.h>
unsigned char i = 0;
//unsigned char 类型的取值范围是0-255
int main()
{
for (i = 0; i <=255; i++)
{
printf("hello\n");
}
return 0;
//输出结果为死循环
}
整形数据的存储
最新推荐文章于 2024-08-09 17:46:50 发布