簡體   English   中英

C編譯器如何在內部表示無符號整數

[英]how does c compiler represents unsigned integer internally

#include<stdio.h>
int main() 
{
int num=0,num1;
do
{
num++;
num1=num+1;
}while(num1>num);
printf("\nthe largest +ve value int can have is:%d",num);
printf("\nthe largest -ve value int can have is:%d",num1);
}

輸出:最大+ ve值int可以具有:2147483647最大-ve值int可以具有:-2147483648

問題是,即使我采用“ unsigned int”而不是“ int”,結果也是一樣的。

這是因為您將其打印為整數( %d ),而不是無符號整數( %u )。 另外,您不需要循環即可計算此值-您可以使用limits.hUINT_MAXINT_MAX / INT_MIN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM