2021-3-22数据的存储(上)

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//c语言类型
//1.内置类型 char short int long float double
//2.自定义类型
//类型的意义
//1.使用这个类型开辟内存空间的大小
//2.如何看待内存空间的视角
//unsigned-二进制最高位不当作符号位
//signed-二进制最高位为1表示为负数,0表示正数

//整型在内存中的存储
//计算机中的整型有符号数有三种表示方法,即原码,反码和补码
//三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,1表示“负”
//原码:直接将二进制按照正负数的形式翻译成二进制就可以了
//反码:将原码的符号位不变,其他依次按位取反就可以得到了
//补码:反码+1得到补码
//int main()
//{
// int a = 20;//四个字节,32个bit位
// //无符号数和正数原码,反码,补码相同
// //00000000000000000000000000010100-20的原码
// //00000000000000000000000000010100-20的反码
// //00000000000000000000000000010100-20的补码
// int b = -10;
// //10000000000000000000000000001010- -10的原码
// //11111111111111111111111111110101- -10的反码
// //11111111111111111111111111110110- -10的补码
//
// //整数在二进制中存储的是补码形式
// return 0;
//}
//
大端存储模式:指数据的低位保存在内存的高地址中,数据的高位保存在内存的低地址中
小端存储模式:指数据的地位保存在内存的低地址中,数据的高位保存在内存的高地址中

//设计一个程序来判断当前机器的字节序
//int main()
//{
// int a = 1;
// //0x 00 00 00 01
// //小端:01 00 00 00
// //大端:00 00 00 01
// char* p = (char*)&a;
// if (p == 1)
// {
// printf(“小端\n”);
// }
// else
// {
// printf(“大端\n”);
// }
// return 0;
//}
//函数实现判断大端还是小端
//int check_sys()
//{
// int a = 1;
// char
p = (char*)&a;
// if (*p == 1)
// return 1;
// else
// return 0;
//}
//int main()
//{
// int ret= check_sys();
// if (ret == 1)
// {
// printf(“小端\n”);
// }
// else
// {
// printf(“大端\n”);
// }
// return 0;
//}
//int main()
//{
// char a = -1;
// //100000000000000000000000000000001 -1的原码
// //111111111111111111111111111111110 -1的反码
// //111111111111111111111111111111111 -1的补码
// //char占8个bit位。故11111111
// //因为打印出来的是%d,而a是char类型,故需要类型提升
// //无符号数进行整型提升,高位补0
// //有符号数整型提升高位补1
// signed char b = -1;
// unsigned char c = -1;
// printf(“a=%d,b=%d,c=%d”, a, b, c);
// return 0;
//}
//int main()
//{
// char a = -128;
// //10000000000000000000000010000000 -128原码
// //11111111111111111111111101111111 -128反码
// //11111111111111111111111110000000 -128补码
// //10000000
// //整型提升高位补0
// //11111111111111111111111110000000 -整型提升后的补码
// //因为无符号数原码 反码 补码相同,所有直接打印
// printf("%u\n", a);//%u–打印无符号十进制整数
// return 0;
//}
//有符号的char能表示的范围:–128-》127
//无符号的char能表示的范围 0-》255

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值