爱问知识人 爱问教育 医院库

基本整型的最大范围为为什么是32767,而不是32768

首页
苏州鼻部整型多少钱

基本整型的最大范围为为什么是32767,而不是32768


        

提交回答

语音回答

答案字数较多,建议语音阅读

00:00/02:00

好评回答
  • 2006-03-24 23:39:27
    在C中,用高位置1来表示负数,int型占两个字节共16位,32768的二进制是10000000,00000000,高位为1,系统会认为是负数,所以32768需要用长型表示,占四个字节。最高位就不是1了。(00000000,00000000,10000000,00000000) 
    -32768在内存中的表示是10000000,00000000。过正是:先读入正值32768(10000000,00000000),再取反(01111111,11111111),再加1(10000000,00000000) [转]
    

    脆***

    2006-03-24 23:39:27

其他答案

    2006-03-25 16:15:40
  • 整形的范围是-32768 至 32767
    它其实由数值位和符号位组成
    因此在于最后的那一位要存放符号 + -

    j***

    2006-03-25 16:15:40

  • 2006-03-25 13:59:51
  • 32767=2^16-1=2^15+2^14+2^13+2^12+2^11+2^10+2^9+2^8+2^7+2^6+2^5+2^4+2^3+2^2+2^1+2^0
    

    捣***

    2006-03-25 13:59:51

  • 2006-03-25 08:24:22
  • 整形的范围是-32768~32767,一共65536个数,不信你算算
    就是说,9-1=8,但是从1到9要用9个数阿

    S***

    2006-03-25 08:24:22

  • 2006-03-25 02:09:11
  • 计算机里以补码储存数,首位是符号位,用0代表正数,1代表负数,剩下的是数据了,正数的话和一般的二进制表示是一样的,负数的话等于相应整数二进制表示各位取反再加一
    以4位为例:
    最大的正数为0111=7,往下是0110=6,0101=5,...,0001=1,0000=0,1111=-1,1110=-2,...,1000=-8
    例如:-3的补码:3=011,各位取反为100,再加一为101,加上符号位:1101
    可见负数比正数要多一个.
    你所说的为16位,共有2^16个,负数为:2^15-1个,正数为2^15,还有一个0

    2006-03-25 02:09:11

  • 2006-03-24 23:28:40
  • 你说的16位有符号数。还有就是计算机中是以补码形式存的,因此去处符号位2^15可以表示0-32767。再说负数的补码是各位取返末尾加一,因此-1的补码是1后面15个0,因此负数和正数是不对称的,负数表示范围比正数多1。

    2006-03-24 23:28:40

类似问题

换一换

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 174-193
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):