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

相关推荐
Tingjct9 小时前
【初阶数据结构-二叉树】
c语言·开发语言·数据结构·算法
飞机和胖和黄10 小时前
考研之王道C语言第三周
c语言·数据结构·考研
醉颜凉10 小时前
【LeetCode】打家劫舍III
c语言·算法·leetcode·树 深度优先搜索·动态规划 二叉树
一匹电信狗10 小时前
【LeetCode_21】合并两个有序链表
c语言·开发语言·数据结构·c++·算法·leetcode·stl
卢锡荣13 小时前
Type-c OTG数据与充电如何进行交互使用应用讲解
c语言·开发语言·计算机外设·电脑·音视频
v_for_van13 小时前
力扣刷题记录2(无算法背景,纯C语言)
c语言·算法·leetcode
二年级程序员14 小时前
动态内存管理
c语言
我能坚持多久14 小时前
D20—C语言文件操作详解:从基础到高级应用
c语言·开发语言
(❁´◡`❁)Jimmy(❁´◡`❁)14 小时前
CF2188 C. Restricted Sorting
c语言·开发语言·算法
想放学的刺客14 小时前
单片机嵌入式试题(第27期)设计可移植、可配置的外设驱动框架的关键要点
c语言·stm32·单片机·嵌入式硬件·物联网