随笔 - 544, 文章 - 0, 评论 - 0, 阅读 - 10362
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C/CPP-数据类型

Posted on   乔55  阅读(23)  评论(0编辑  收藏  举报

char

  • char的最小尺寸为8bit,一个char的大小与机器字长一样
    • unsigned char; // 可表示范围是[0,281]
    • char; // 可表示范围是[27,271]
    • 我们使用的char是否带符号是未定的,由我们使用的编译器决定
    • 算术表达式中尽量不要使用char,它在不同机器上2种情况都可能

C语言中的整数

  • 这张图片是什么意思?
  • C90标准编译器遇到的值处于某个范围内时,该值被认为某种类型
  • C99标准编译器遇到的值处于某个范围内时,该值被认为某种类型
  • 231=2147483648
  • 2147483648<2147483647,编译器编译时,将负号与数值是分开处理的
  • 只有确定好左右2边比较数的数据类型,才能够进行比较
  • 2147483648为231,在C90中被编译器解析了unsigned int,而2147483647为2311被解析为int,在一个表达式里,左边解析为无符号数,右边解析为带符号数,则整个表达式是按照无符号数进行运算的。
  • int i = -2147483648,则i<2147483647左右2边都是带符号数,很显然,按照带符号数的比较规则,左边为负数,右边为正数,该比较表达式的值为true

float与double

  • C++标准指定了一个浮点数有效位数的最小值,大多数编译器实现了更高精度
  • 通常float以一个字32位表示,double以2个字64位表示
  • float与double在内存中所占的比特位数不同,其规定的默认的有效位数也不同
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示