为什么8位有符号数的取值范围是-128~+127
生活随笔
收集整理的這篇文章主要介紹了
为什么8位有符号数的取值范围是-128~+127
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先我們知道,計算機以補碼的形式存儲的,正數的補碼是原碼不變,負數的補碼是原碼的取反加1。
我們先來看+127,原碼0111 1111對吧,若+128是多少呢,0111 1111 + 1 = 1000 0000 (原碼),然后存儲時,計算機一看是最高位為1,就保持符號位不變,后面7位取反加1,然后呢,進位舍棄,還是1000 0000(-128)。所以對于8位數據來說,+128 實際上變成 - 128。
對于-128我們來看,首先對于負數,計算機處理是保持符號位不變,剩余位先取絕對值然后取反加1,128(取絕對值)1000 0000 取反(1111 1111),加1 (1000 0000),所以-128的補碼是1000 0000(原碼和補碼一樣的),下面,我們來看一下-129的值,-128的原碼為 1000 0000 減1 等于0111 1111 (原碼計算就沒有那些規矩了,直接計算就行了),然后存儲,計算機一看正數,就直接存儲了+127.
strlen()函數是返回一個字符串的長度,遇到'\0'結束。
總結
以上是生活随笔為你收集整理的为什么8位有符号数的取值范围是-128~+127的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串数组 和 字符串指针 的区别
- 下一篇: 字符串逆序的几种方法