真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言中按位取反操作符詳解-創(chuàng)新互聯(lián)

C語言按位取反操作符詳解
  • 寫在前面
  • 快捷使用
  • 原理詳解
    • 補充說明
    • 按位取反步驟:
    • 舉例驗證:

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比磐安網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式磐安網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋磐安地區(qū)。費用合理售后完善,十年實體公司更值得信賴。寫在前面

最近重新?lián)炱餋語言,發(fā)現(xiàn)很多知識點一知半解(以前學的很拉跨,都是囫圇吞棗,不求甚解的學習態(tài)度)。對按位取反操作運算的原理不是很清楚,網(wǎng)上看了很多講解,講的不是很清晰,只有一篇看著講的很好:點擊此處跳轉。接下來,按照兩種方法講一下按位取反。

快捷使用

一種簡單粗暴得到答案:

簡單算出結果的公式:
設目標數(shù)為:X
則取反結果:~X = -(X+1)

原理詳解

另一種是原理詳解:

補充說明
  • 計算機中 二進制以補碼格式存儲于內存:十進制數(shù)是以二進制形式進行邏輯運算的。二進制中為了區(qū)分正負數(shù),設定了符號位。正因為符號位的存在。計算機內存中存放二進制時是以補碼的格式存儲。即計算機中所有的二進制都是補碼形式存在。那么對二進制取反操作是對其補碼進行取反操作。
  • 計算機中 所有的負數(shù)以其補碼形式表示。
  • 按位取反:對二進制補碼進行取反。(0轉1,1轉0)。
  • 原碼:在數(shù)值前面增加一位符號位,0表示正數(shù),1表示負數(shù)。
  • 反碼:正數(shù)的反碼與原碼相同;負數(shù)的反碼對其原碼逐位取反(符號位除外)。
  • 補碼:正數(shù)的補碼與其原碼相同;負數(shù)的補碼是在其反碼的末位+1。
按位取反步驟:

1.十進制 → 2.二進制原碼 → 3.二進制補碼 → 4.按位取反 → 5.二進制原碼 → 6.十進制
即:對(十進制)目標值X,先將其轉為二進制表示,然后將轉為其補碼形式(正數(shù)和負數(shù)的補碼有區(qū)別),之后對補碼按位取反(包括符號位)(結果仍是補碼),最后將取反后的補碼轉為其原碼。最終得到結果十進制。

舉例驗證:
  • 對正數(shù)6進行按位取反,即:~6.
1. 十進制    :6。
	2. 二進制原碼:0 0110。//(第一個0 表示符號位)
	3. 二進制補碼:0 0110。
	4. 按位取反  :1 1001。
	5. 二進制原碼:1 0111。//(這里是對負數(shù)二進制轉原碼操作:減一、取反。下面是過程詳解)
		5.1. 減一:1 1000;
		5.2. 取反:1 0111。//(符號位不取反,即結果和5中一樣)
	6. 十進制    :-7.
補充 :第4步按位取反后為 第5步 負數(shù)補碼情況:上述是進行反向操作(減一,取反)。
 還有一種方法是:直接加一。最高位補一。如下:(我個人覺得沒問題)
1. 十進制    :6。
	2. 二進制原碼:0 0110。//(第一個0 表示符號位)
	3. 二進制加一:0 0111。
	4. 高位補一  :1 0111。
	5. 十進制    :-7.
  • 對負數(shù)-6進行按位取反,即:~-6.
1. 十進制    :-6。
	2. 二進制原碼:1 0110。//(第一個1 表示符號位)
	3. 二進制補碼:1 1010。//(這里是對負數(shù)二進制轉補碼操作:取反、加一)
		3.1. 取反:1 1001;
		3.2. 加一:1 1010。//(符號位不取反,即結果和 3中一樣)
	4. 按位取反  :0 0101。
	5. 二進制原碼:0 0101。
	6. 十進制    :5。

代碼驗證

#includeint main(void) {int a=6;
	
	printf("~a: %d\n",~a);
	printf(" a: %d\n",~-a);  
	return 0;
}

程序輸出結果:
程序輸出結果
以上是個人學習過程中的總結,轉載需注明出處。歡迎交流。

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)頁題目:C語言中按位取反操作符詳解-創(chuàng)新互聯(lián)
鏈接分享:http://weahome.cn/article/cospjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部