在C语言中有符号整数和无符号整数有什么差别?

学习 时间:2026-04-07 16:30:07 阅读:8739
在C语言中有符号整数和无符号整数有什么差别?如果只是int=a,是指有符号还是无符号?能举几个例子吗?

最佳回答

怕孤独的歌曲

高挑的身影

2026-04-07 16:30:07

int是有符号的。unsigned才是无符号的。它们所占的字节数其实是一样的,但是有符号的需要安排一个位置来表达我这个数值的符号是什么,因此它说能表示的绝对值就要比无符号的少一半。举个例子,我们有一个1个字节的整数(虽然这种类型不存在),那么无符号的就是这样:00000000-11111111 这个就是无符号的范围。一个字节是8位。下面有符号的,因为第一个位要用来表示符号,那么就只剩下7个位置可以用来表示数了0000000-1111111因为有符号所以还可以:-1111111-00000000明白了吗?

最新回答共有2条回答

  • 温暖的牛排
    回复
    2026-04-07 16:30:07

    int是有符号的。unsigned才是无符号的。它们所占的字节数其实是一样的,但是有符号的需要安排一个位置来表达我这个数值的符号是什么,因此它说能表示的绝对值就要比无符号的少一半。举个例子,我们有一个1个字节的整数(虽然这种类型不存在),那么无符号的就是这样:00000000-11111111 这个就是无符号的范围。一个字节是8位。下面有符号的,因为第一个位要用来表示符号,那么就只剩下7个位置可以用来表示数了0000000-1111111因为有符号所以还可以:-1111111-00000000明白了吗?

上一篇 “不要以为自己很了不起”的成语

下一篇 i,n.w.n.e.r,s这些字母可以组成哪些单词呢