Skip to content

关于无符号与有符号

约 167 字小于 1 分钟

2024-11-03

区别

无符号即其包括的范围不包括负数

例如: 有符号整型(即int)的范围为-2,147,483,648(-2^31-1)到 2,147,483,647(2^31-1)

​ 无符号整形(即unsigned int)的范围为 0 到 4,294,967,295(2^32)

可见,无符号整形在非负数部分的范围是有符号整形的两倍

相关函数

例如<string.h>下的strlen()函数返回的是无符号整形

在部分编译器下 int n = strien(char) 会发出警告:表示的范围发生改变,在非负区间内,n 的范围比strlen要小

贡献者: edge-sky