取反!和按位取反~的區別
http://blog.csdn.net/pipisorry/article/details/36517411
按位取反“~”:按位取反1變0,0變1
邏輯非“!”:邏輯取反, false變true,true變false,在C中,只要不是0就是真
------------------------------------------------------------------------------------------------------------------------------
!5值是0
~按位取反
5二進位制00000101,取反11111010,代表-6
所以~5值-6
~是按位取反,例如整數3,二進位制形式是
00000000000000000000000000000011,按位取反後就是
11111111111111111111111111111100
!是邏輯否,一個非0數取否之後就是0,上面的3,用!之後就是0
所有的不是0的數用!操作後都是0
只有當運算元等於0xFFFFFFFF的,用!和~的結果值才是一樣的
所有正整數的按位取反是其本身+1的負數
所有負整數的按位取反是其本身+1的絕對值
零的按位取反是 -1
ref:
http://blog.csdn.net/pipisorry/article/details/36517411
http://blog.csdn.net/xiexievv/article/details/8124108
相關文章
- !和~的區別(邏輯取反和按位取反)
- ~ 按位取反運算解析
- Java中按位取反運算子Java
- C# ~按位取反運算子C#
- 按位取反運計算方法
- 位操作(取反)
- 二進位制取反
- 關於學習java中的按位取反(~)的問題Java
- 對十進位制數字的按位輸出,取反,並求其位數
- Java 16進位制字串 取反Java字串
- Java中的按位取反運算子,哪位能詳解一下?Java
- java二進位制正數和負數取反Java
- java取反邏輯Java
- mathematica練習程式(影象取反)
- java 位元組陣列取反Java陣列
- 取反(分塊+二分)
- Java中關於十進位制數取反問題解決Java
- C++取反交換兩個數的值C++
- 二進位制中為什麼負數是正數取反再加一
- php 和 j s 對數字,字母,漢子等特殊字串 取反PHP字串
- 計算機中的補碼與java取反運算計算機Java
- 從Java中的取反號‘~’看原碼,反碼,補碼Java
- 【C++】【OpenCV-4.9.0】灰度圖取反(Mat屬性的使用)C++OpenCV
- LeetCode1005. K 次取反後最大化的陣列和LeetCode陣列
- 簡單介紹如何通過註解獲取反射的值反射
- 溢位OF和進位CF區別
- java 原碼、反碼、補碼計算 以及 取反(~)運算Java
- java中與運算,或運算,異或運算,取反運算Java
- 電位器和編碼器的區別
- python32位和64位的區別是什麼Python
- select * 和 select 所有欄位的區別
- LOB欄位EMPTY_LOB和NULL的區別Null
- ajax中button和submit按鈕的區別是什麼MIT
- C#中的屬性和欄位的區別C#
- C++按值返回、按址返回、按別名返回開銷的區別C++
- 關於mysql設定varchar 欄位的預設值''和null的區別,以及varchar和char的區別MySqlNull
- 【Python】python 基礎語法之列表、n維陣列的變換(取反(逆序)\切片等)Python陣列
- windows7電腦系統32位和64位區別Windows