【数据存储】个人笔记

常见的编程错误

  1. 编译型错误,与语法错误一样。
  2. 链接型错误,引用函数的时候,函数不存在(或者函数名书写错误)
  3. 运行时错误(需要通过调试排查错误)

C 数据存储:

整形类型:

  • short—2byte—16bit
  • 如果是有符号的,最高位表示符号位,0表示正数,1表示负数。
  • 那么意味着unsigned short与short和sign short的大小就有区别了。
  • ps.char在存储时是存储ASCII码的,所以算作整形。
  • ps.%u用来打印unsigned型

构造类型:

  • 数组类型,结构体类型(struct),枚举类型(enum),联合类型(union)
  • int arr[10]   ——arr的类型是:int [10]

指针类型

浮点类型

  • 原码,补码,反码:
  • 补码就是符号位不变,其他位置对原码进行取反。
  • 反码就是对补码进行+1。
  • ps.正数的补码与反码就是其本身。

char类型:

  • 10000001——>10000000——>  -127
  • 10000000——>直接解析位  -128

大小端字节序存储:

低———>———>——>———>——>———>————高

  • 大端字节序存储:最低位字节数据存放在高地址处,把高位字节数据存放在低地址处。
  • 小端字节序存储:与上相反。

问题:如何写一个程序判断是什么类型的字节序存储法?(百度题)

ps.注意理解这道题的(char*)&a;

char a=-1;signed b=-1;unsigned= -1;

按照%d输出,会出现什么答案?(ps.注意整形提升,注意%d。)

  • 补充:整形提升是按照变量的数据类型的符号进行提升的。
  • signed类型:高位补充符号位,负数高位补充1.
  • unsigned类型:高位全部补0.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值