回覆列表
  • 1 # 使用者8633641522655

    我認為是這樣的:1byte等於8bit,也就是8個0或1,如00000000或11111111。其中第一個數代表的意思是該數為正還是負,為1時代表負,為0時代表正。例如:00000001表示該數為1.

    至於為什麼是-2^7—2^7-1,(說明一下2^7等於128,所以2^7-1等於127)因為1111111這樣的7位二進位制換算成十進位制為127,而第一位表示符號,所以最大的正數取值為01111111,也就是127,全部為00000000時表示為0。當為負數時表示方法和一般理解的二進位制就有點區別了,例如:11111111,如果單純的將1看做負,那麼換算成十進位制就為-127,但是實際上不是這樣的,正確答案為-1。可能是設計這個byte的人認為如果00000000表示0,10000000表示-0,要麼就是重複了0,要麼就是覺得0不可能是負數,所以就將負數時的byte的二進位制換算成十進位制的方式改成了與正數時的相反,這樣11111111就表示為-1了,然後又將10000000規定為-128,這樣正數有128位即0-127;負數有128位即-128-(-)1。

  • 中秋節和大豐收的關聯?
  • 黃曉明有多高?