首页 > 技术文章 > C语言short int

lonelyshy 2018-09-27 20:52 原文

因为C语言中short int占2个字节,有16个二进制位,共可表示2^16种状态。因为它用来表示有符号数,而0也要占用一个状态。所以,16位的原码可以表示的数是-32767~+32767,它的0可以表示为二种状态,+0和-0,既浪费了存储资源,又造成了不方便。

所以一般采用计算机中一般都采用补码形式来表示有符号整数。多出的一个状态按补码的规则正好是-32768。


所以short int 的范围为-2^15  — 2^15-1

推荐阅读