1. 程式人生 > >有符號數和無符號數在一起如何處理的

有符號數和無符號數在一起如何處理的

有符號數 無符號數

當表達式中存在有符號類型和無符號類型時,默認情況下計算的結果將轉化為無符號類型

而對於計算機過程而言,變量本身轉化為有符號還是無符號數,都不會改變在計算機中存儲的位狀態。也就是說有符號和無符號數在計算機中都是以補碼形式存在

舉例:

#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

有符號數和無符號數在一起如何處理的