日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于 C语言的 按位取反 ~

發(fā)布時間:2023/12/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于 C语言的 按位取反 ~ 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、相關(guān)概念:

不管是正整數(shù) 還是 負(fù)整數(shù)在計算機(jī)中都是以 補(bǔ)碼的形式存在的;

取反:0變1,1變0 就叫做取反,取反 符號位也要改變;

反碼:符號位不變,其他位置0變1,1變0;

何為補(bǔ)碼? 如果有一個二進(jìn)制位, 它的反碼 加1 就是 該二進(jìn)制位的 補(bǔ)碼, 注意是 反碼 不是 取反。

2、 正整數(shù)的 反碼 和補(bǔ)碼 是其源碼本身;

負(fù)整數(shù)的 反碼 是源碼符號位不變,其他位0變1,1變0;補(bǔ)碼 是在反碼的基礎(chǔ)上再加1.

取反 是 在補(bǔ)碼的基礎(chǔ)上 取反;

3、 正整數(shù)的取反過程: 例如 7 (1字節(jié) 8位 首位位符號位)

源碼: 0000 0111

-> 補(bǔ)碼:0000 0111

-> 取反:1111 1000 (后面 還要 取補(bǔ)碼,這里是負(fù)數(shù),因為計算機(jī)中是按照補(bǔ)碼存儲的)

-> 反碼:1000 0111

->反碼+1: 1000 1000 即 -8;

負(fù)整數(shù)的取反過程: 例如 -7 (1字節(jié) 8位 首位位符號位)

源碼: 1000 0111 (以補(bǔ)碼形式存儲,先求補(bǔ)碼)

-> 反碼:1111 1000

->補(bǔ)碼:1111 1001

->取反:0000 0110 即 6;

1. 所有正整數(shù)的按位取反是其本身+1的負(fù)數(shù)

2. 所有負(fù)整數(shù)的按位取反是其本身+1的絕對值

3. 零的按位取反是 -1(0在數(shù)學(xué)界既不是正數(shù)也不是負(fù)數(shù))

總結(jié)

以上是生活随笔為你收集整理的关于 C语言的 按位取反 ~的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。