C 为什么没有未签名的最小值?

C 为什么没有未签名的最小值?,c,C,1] 数据类型限制: #include<stdio.h> #include<limits.h> int main(){ printf("\n INT_MAX : %d %x \n",INT_MAX,INT_MAX); printf("\n INT_MIN : %d %x \n",INT_MIN,INT_MIN); printf("\n SHRT_MAX : %d %x \n",SHRT_MAX,SHRT_MAX);

1] 数据类型限制:

#include<stdio.h>
#include<limits.h>
int main(){
        printf("\n INT_MAX : %d %x \n",INT_MAX,INT_MAX);
        printf("\n INT_MIN : %d %x \n",INT_MIN,INT_MIN);
        printf("\n SHRT_MAX : %d %x \n",SHRT_MAX,SHRT_MAX);
        printf("\n SHRT_MIN : %d %x \n",SHRT_MIN,SHRT_MIN);
        printf("\n LONG_MAX : %ld %lx \n",LONG_MAX,LONG_MAX);
        printf("\n LONG_MIN : %ld %lx \n",LONG_MIN,LONG_MIN);
        printf("\n USHRT_MAX : %u %x \n",USHRT_MAX,USHRT_MAX);
        printf("\n UINT_MAX : %u %x \n",UINT_MAX,UINT_MAX);
        printf("\n ULONG_MAX : %lu %lx \n",ULONG_MAX,ULONG_MAX);
        return 0;
}

o/p :
-----
 INT_MAX : 2147483647 7fffffff 
 INT_MIN : -2147483648 80000000 
 SHRT_MAX : 32767 7fff 
 SHRT_MIN : -32768 ffff8000 
 LONG_MAX : 9223372036854775807 7fffffffffffffff 
 LONG_MIN : -9223372036854775808 8000000000000000 
 USHRT_MAX : 65535 ffff 
 UINT_MAX : 4294967295 ffffffff 
 ULONG_MAX : 18446744073709551615 ffffffffffffffff
#包括
#包括
int main(){
printf(“\n INT\u MAX:%d%x\n”,INT\u MAX,INT\u MAX);
printf(“\n整数分钟:%d%x\n”,整数分钟,整数分钟);
printf(“\n压缩最大值:%d%x\n”,压缩最大值,压缩最大值);
printf(“\n最小值:%d%x\n”,最小值,最小值);
printf(“\n LONG\u MAX:%ld%lx\n”,LONG\u MAX,LONG\u MAX);
printf(“\n LONG\u MIN:%ld%lx\n”,LONG\u MIN,LONG\u MIN);
printf(“\n USHRT\u MAX:%u%x\n”,USHRT\u MAX,USHRT\u MAX);
printf(“\n单位最大值:%u%x\n”,单位最大值,单位最大值);
printf(“\n ULONG\u MAX:%lu%lx\n”,ULONG\u MAX,ULONG\u MAX);
返回0;
}
o/p:
-----
内部最大值:2147483647 7fffffff
内部最小值:-2147483648 80000000
最大压力:32767 7fff
最小压力:-32768 ffff8000
最大长度:9223372036854775807 7FFFFFFFFFFFFF
龙明:-9223372036854775808 80000000000000
USHRT_最大值:65535 ffff
最大单位:4294967295 ffffffff
ULONG_MAX:18446744073709551615 FFFFFFFFFFFF

为什么没有无符号最小值?

无符号最小值始终为零(根据定义,这是最小的无符号值)。因此,规范作者可能认为没有必要添加它们。

您的答案是:
U_MIN
始终为0U; 这就是无符号类型的定义方式。因此,没有必要采取行动
这些标识符。因此,定义
ULONG\u MIN
etc是多余的。

是否有许多平台不能表示0?它不是0U,而与平台无关吗?或者任何平台都可以选择0U以外的值作为无符号最小值。无符号类型不表示负值,猜猜最小值是多少。