格式化输出和整数所占字节

格式化输出:
  • %d – 输出十进制整数
  • %c – 输出一个字符
  • %s – 输出一个字符串
  • %f – 输出一个小数
  • %p – 它表示以十六进制的形式(带小写的前缀)输出数据的地址
整数
  • Linux:
    short: 2个字节
    int: 4个字节
    long: 8个字节

  • Windows:
    short: 2个字节
    int: 4个字节
    long: 4个字节

  • %hd – 输出 short int 类型的数据

  • %d – 输出 int 类型的数据

  • %ld – 输出 long int 类型的数据

  • sizeof() – 用来获取某个数据类型的长度

不同进制、有无符号整数输出

无符号数 – 表示 数的所有位都表示数
有符号数 – 表示 数的左边第一位是符号位,其余位是数值位
在这里插入图片描述

整数怎么在内存中存储

1、原码 – 将一个整数转换成二进制形式
2、反码 – 正数的反码和原码一样;负数的反码:将原码中除符号位以外的所有位(数值位)取反,也就是 0 变成 1,1 变成 0。
3、补码 – 正数的补码就是原码;负数的补码:是其反码加 1。

**注意:**整数在内存中存储,就是用补码进行存储
无符号数存储 – 补码和原码一致
有符号数存储 – 正数的补码和原码一致,负数的补码要进行转换
负数在存储之前,先转换为补码进行存储

整数的取值范围以及数值的溢出

short、int、long 的长度分别是 2、4、4 或者 8,它们只能存储有限的数值,当数值过大或者过小时,超出的部分会被直接截掉,数值就不能正确存储了,我们将这种现象称为溢出

  • 无符号数的取值范围:
    1字节:0-255(2^8-1)
    2字节:0-65535(2^16-1)

  • 有符号数的取值范围
    1字节:
    -128存储的时候,其补码是:10,000,000
    0存储的时候,其补码是:00,000,000
    其余字节大小,举一反三
    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值