有符号数和无符号数在一起如何处理的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有符号数和无符号数在一起如何处理的相关的知识,希望对你有一定的参考价值。

当表达式中存在有符号类型和无符号类型时,默认情况下计算的结果将转化为无符号类型

而对于计算机过程而言,变量本身转化为有符号还是无符号数,都不会改变在计算机中存储的位状态。也就是说有符号和无符号数在计算机中都是以补码形式存在

举例:

#include <stdio.h>
void foo(void)
{
    unsigned int a = 6;
    int b = -20;
    printf("a+b=%x\t",a+b);
    (a+b > 6) ? puts("> 6") : puts("<= 6");
}
int main(int argc, char *argv[])
{
    foo();
    int a=-1;
    printf("\n无符号状态:%u\t有符号状态:%d\t十六进制状态:%x",a,a,a);
    return 0;

}

技术分享

本文出自 “10628473” 博客,请务必保留此出处http://10638473.blog.51cto.com/10628473/1967971

以上是关于有符号数和无符号数在一起如何处理的的主要内容,如果未能解决你的问题,请参考以下文章

有符号数和无符号数

有符号数和无符号数

无符号数和有符号数的转化

有符号数和无符号数

汇编语言无符号数与有符号数转换

verilog中有符号数的运算