整形提升-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

相关推荐
Bug退散师2 小时前
多路IO复用[select版TCP服务器与poll版TCP服务器]与常用网络编程函数详解
linux·服务器·c语言·网络·驱动开发·tcp/ip
天空'之城2 小时前
C 语言工业级通用组件手写 03:双向链表
c语言·嵌入式开发·双向链表
FREEDOM_X3 小时前
嵌入式——定时器工作原理
linux·c语言·单片机·嵌入式硬件·ubuntu
2401_827501283 小时前
51单片机(四)DS18B20 数字温度传感器
c语言·51单片机
不会c+5 小时前
C语言:入门到精通(408考研版)系列七 派生的数据类型
c语言·开发语言
躺不平的理查德5 小时前
SQLite C API 备忘录
c语言·数据库·sqlite
程序猿编码6 小时前
没有AI框架,没有GPU,一个C语言文件跑通大模型
c语言·开发语言·人工智能·深度学习·ai·大模型
CHANG_THE_WORLD6 小时前
Linux C 多线程 TCP 并发服务器:从 `accept()` 到资源管理深度剖析
linux·服务器·c语言
十月的皮皮7 小时前
C语言学习笔记20260716-编译与链接
c语言·笔记·学习
牧以南歌〆8 小时前
数据结构<一>顺序表
c语言·数据结构·算法