当前位置: 首页 > article >正文

整形提升-C语言

整型提升的原则:当一个小字节数,向大字节数转换时,有符号补0或1,无符号补0;

为什么会发生测试结果呢,让我们来看一下

在64位的环境中char是1个字节8位

char  a=1; 

1000 0001  原码                 整形提升    11111111        11111111    11111111   11111111  补

1111 1110  反码                                    10000000       00000000   0000000    0000000  反码

1111 1111  补码  请看右边                    10000000       00000000   0000000    0000001  原码

计算机中存的是补码(计算机识别):转换时要化为源码(人类识别)                 结果为-1;

unsigned char b=-1;

1000  0001 源码                   整形提升  00000000  00000000  00000000  11111111 补码

1111   1110 反码                                   00000000  00000000   00000000   11111111 反码

1111   1111  补码                                  00000000   00000000   00000000   11111111  原码

                                                                                                      2^8-1=255;(原反补相同)

            32位     64位

char       1        1

short        2       4

指针        4        8

int          4         4

double    8        8

float        4         4

long        4        8

longlong  8      8


http://www.kler.cn/a/291034.html

相关文章:

  • 集成自然语言理解服务,让应用 “听得懂人话”
  • API开发:Flask VS FastAPI
  • C#中方法参数传值和传引用的情况
  • Java游戏开发基础:从零开始制作一个简单的2D游戏
  • 浏览器要求用户确认 Cookies Privacy(隐私相关内容)是基于隐私法规的要求,VUE 实现,html 代码
  • Layui table不使用url属性结合laypage组件实现动态分页
  • 数学建模--皮尔逊相关系数、斯皮尔曼相关系数
  • 在移动应用程序中集成模糊方法的基于物联网的天气监测系统的实现
  • Linux虚拟机安装(CentOS9)
  • 数据结构排序之快排
  • 【C语言进阶】C语言进阶教程:利用结构体、联合体和枚举自定义数据类型
  • DigitalOcean Spaces 对象存储:新增伦敦节点
  • 【Linux网络编程八】实现最简单Http服务器(基于Tcp套接字)
  • SOLIDWORKS华北区供应商经销商:如何选择最适合您的合作伙伴?
  • C++:构造函数、析构函数
  • Python编程 - 深入面向对象
  • SSL解说与应用
  • Centos安装配置Gitea(Ubuntu等系统也可参考)
  • 鸿蒙OS试题
  • Arduino IDE
  • 基于SSM+MySQL的医院在线挂号系统
  • 【Python百日进阶-Web开发-音频】Day707 - 时域处理 librosa.autocorrelate
  • 计算机毕业设计 二手闲置交易系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
  • 【ubuntu使用笔记】nvme磁盘挂载失败问题记录
  • CSS实现优惠券透明圆形镂空打孔效果等能力学习
  • HTTPS 证书类型