當前位置:編程學習大全網 - 編程軟體 - 解析下超過8位的二進制數以有符號型輸出和無符號型輸出的區別!如129!

解析下超過8位的二進制數以有符號型輸出和無符號型輸出的區別!如129!

很多人都問這樣的問題。其實計算機並不知道什麽是正數負數。正數負數是人為的,就是說妳認為最高位為1是負數的話(如果妳要解決負數問題,那就用最高位為1來表示,這是統壹規定,這樣大家才有“***同”語言),那妳編程時就要把這個數當負數對待,反之當然就得當正數對待。就說妳的129吧,妳把它賦給壹個變量n,然後用帶符號的數輸出就是-127,而用不帶符號的數輸出就是129,盡管內存中是同壹個數!看下面的例子:

void main(void){

 char n=129;

 printf("%d:%u\n",n,n&0xFF);

}

其中%d是帶符號處理指示,%u是不帶符號處理指示。&0xFF是把int型數控制在壹個字節內。

不知給妳說清楚了沒有!

  • 上一篇:雅馬哈YAS-207回音壁音箱怎麽通過遙控器操作本機
  • 下一篇:課件制作問題(authorware和ppt)
  • copyright 2024編程學習大全網