数据存储,整形提升类问题

简介: 数据存储,整形提升类问题
int main()
{
    unsigned char a = 200;
    //00000000000000000000000011001000(原反补相同)
    //11001000(char型-8bit)
    unsigned char b = 100;
    //00000000000000000000000001100100(原反补相同)
    //01100100(char型-8bit)
    unsigned char c = 0;
    c = a + b;
    //a和b都是char型,比int型短,需要发生整型提升,整型提升需要考虑补0(正数时)或补1(负数时)
    //a无符号整型,所以补0,结果为
    //00000000000000000000000011001000 --a
    //00000000000000000000000001100100 --b
    //00000000000000000000000100101100 --c,(2进制时),变为%d为300
    // 但是因为c为char型,所以只能8位,需要截断
    //00101100----unsigned char c时,,,变为%d为44
    printf("%d %d\n", a + b, c);//打印结果为300  44
    return 0;
}


相关文章
|
5月前
|
存储 编译器
数据存储之整形存储
数据存储之整形存储
52 6
|
5月前
|
存储 编译器 C语言
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)一
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)一
58 2
|
5月前
|
存储 编译器 C语言
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)二
C语言学习记录——数据的存储(数据类型、类型的基本归类、整型在内存中的存储、大小端介绍、浮点型在内存中的存储)二
34 0
|
6月前
|
存储 小程序 编译器
[C进阶] 数据在内存中的存储——整形篇
[C进阶] 数据在内存中的存储——整形篇
|
存储 编译器 C语言
|
6月前
|
存储 编译器
关于数据在内存中的存储(整形篇)
关于数据在内存中的存储(整形篇)
97 0
|
6月前
|
存储
整形数据和浮点型数据在内存中的存储差别
整形数据和浮点型数据在内存中的存储差别
64 0
|
11月前
|
存储 编译器 人机交互
深度剖析整形数据在内存中的存储
深度剖析整形数据在内存中的存储
83 0
|
11月前
|
存储 编译器 C语言
数据在内存中的存储(包含整型、浮点型在内存中的存储以及大小端的介绍)
数据在内存中的存储(包含整型、浮点型在内存中的存储以及大小端的介绍)
128 0
|
存储 编译器 C语言
【C语言】 数据的存储 -- 数据类型介绍 -- 存储 -- 浮点型在内存中的存储,很详细也很重要,不明白的一定要看2
【C语言】 数据的存储 -- 数据类型介绍 -- 存储 -- 浮点型在内存中的存储,很详细也很重要,不明白的一定要看2