按位非 ~ 處理等同於indexof
就來看看~1的計算步驟:
-
將1(這裡叫:原碼)轉二進位制 = 00000001
-
按位取反 = 11111110
-
發現符號位(即最高位)為1(表示負數),將除符號位之外的其他數字取反 = 10000001
-
末位加1取其補碼 = 10000010
-
轉換回十進位制 = -2
如 ~1 = -2; ~2 = -3;
應用:
~取反的用法是,是因為-1的取反操作等於0,而其他數的取反操作不等於0。
所以用indexOf操作符可以用~操作來判斷某個字串裡是否有某個字元。
var str = '123456' if(~str.indexOf(0)){ // ~str.indexOf(0) != 0 包含 console.log('取反之後不為零,說明indexOf的結果不等於-1,所以表示str字串裡包含了對應字元') } else { // ~str.indexOf(0) == 0 不包含 console.log('說明取反之後為零,說明indexOf的結果等於-1,所以表示str字串裡不包含了對應字元') }
相關推薦
按位非 ~ 處理等同於indexof
就來看看~1的計算步驟: 將1(這裡叫:原碼)轉二進位制 = 00000001 按位取反 = 11111110 發現符號位(即最高位)為1(表示負數),將除符號位之外的其他數字取反 = 10000001 末位加1取其補碼 =
位運算符、按位與、按位或、按位非、左移、右移、原碼、反碼、補碼
位運算符 位數 是我 計算機 基礎上 個數字 部分 普通 bsp 位運算符的基本規則1,位運算符都是針對整數的二進制數字形式而進行的。2,按位與運算基本規則(規則表):1 & 1 ==> 11 & 0 ==> 00 & 1 ==>
串列埠高效能處理串列埠資料,按位讀取處理案例
在現在的工控或者家用裝置通訊專案中,用到很多串列埠或者類串列埠通訊協議,其中 很多協議需要讀取操作,在讀取中為了防止阻塞,提高處理效能,縮短處理時間經常用到 select 函式來 讀取串列埠資料,select 是linux 真是個 神器啊,監控某一個檔案或者裝置,當有緩衝過來即可處理,而為了試用不同協議的長短
5、位運算子、按位與、按位或、按位非、左移、右移、原碼、反碼、補碼
位運算子的基本規則 1,位運算子都是針對整數的二進位制數字形式而進行的。 2,按位與運算基本規則(規則表): 1 & 1 ==> 1 1 & 0 ==> 0 0 & 1 ==> 0 0 & 0 ==> 0; 3,
js中得~~是什麼意思/JS按位非(~)運算子與~~運算子的理解分析
首先,如果一個數據在嘗試轉換為32整形資料時,結果<0,那麼就需要對其上舍入,比如-2.9->-2,如果>0,對其下舍入,比如:2.6->2; 一個數據如果不能轉換為32位二進位制表示,就轉換為NaN;繼而轉為-1;比如~{}/~NaN ==-1; 又比如~function(){re
JS按位非(~)運算子與~~運算子的理解分析
在SF上看到這個問題,js中怎麼理解按位取反? 問題: ~ 運算子查看錶達式的二進位制表示形式的值,並執行位非運算。Ja
JavaSE7基礎 位運算 int類型變量進行 按位 與或非異或
網上 深入 ava demo new 與或非 反碼 技術分享 notepad jdk版本 :jdk-7u72-windows-i586系統 :Windows7編輯器 :Notepad++ v7.4.2註意事項 :博文內容僅供參考,不可用於其他用途。 代
【CF662C】Binary Table 按位處理
urn strong class i++ xor ios ++ limit mes 【CF662C】Binary Table 題意:給你一個$n\times m$的01網格,你可以進行任意次操作,每次操作是將一行或一列的數都取反,問你最多可以得到多少個1? $n\le
E. Mahmoud and a xor trip 按位處理 異或 dp
Description Mahmoud and Ehab live in a country with n cities numbered from 1 to n and connected by n - 1 und
按位與、或、非、異或總結
位運算子有:&(按位與)、|(按位或)、^(按位異或)、~ (按位取反)。 優先順序從高到低,依次為~、&、^、| 1. 按位與操作 0&0=0; 0&1=0; 1&0=0; 1&1=1 例子:10&9:
OpenCV:影象按位運算-與、或、非、異或
1. 函式原型: //按位與 void bitwise_and(InputArray src1, InputArray src2, OutputArray dst, InputArray
springboot jpa 非hibernate和mysql對應欄位如何處理
背景:程式中的entity物件中欄位expression為json字串欄位,每次前端傳過來的json物件進行轉換會時出現錯誤,由於expression被轉換為了JsonObject型別導致。
[HDU 4810] Wall Painting 組合數 按位處理
Wall Painting Time Limit: 5000ms Memory Limit: 32MB Description Ms.Fang loves painting very much. She paints GFW(Great Funny Wal
C語言的按位與、或、非、異或
位運算子有:&(按位與)、|(按位或)、^(按位異或)、~ (按位取反)。 優先順序從高到低,依次為~、&、^、| 按位與運算有兩種典型用法,一是取一個位串資訊的某幾位,如以下程式碼擷取x的最低7位
JAVA 按位運算符的解釋
按位運算符 位運算 按位按位運算符Java定義了幾個按位運算符,可以將其應用於整數類型long,int,short,char和byte。按位運算符對位執行,並執行逐位運算。假設a = 60和b = 13; 現在以二進制格式,他們將如下 -a = 0011 1100b = 0000 1101--------
整型數字按位取
signed one span post count pac -s div i++ #include "stdafx.h" #include <windows.h> void countone2(int N) { int a = N; int count =
用異或代替按位求反
進制 code vc6.0 代碼 xor 想要 意思 6.0 div 按位取反,意思是原來的每一位,1變0,0變1。 按照這個1變0,0變1的標準,若求x的按位取反值,可以用求異或來替代。 異或的本質是模二加,效果是相同為1,相異為0。 對於x = 10101,想要用異或來
按位與,按位或,按位異或,按位取反
spa 位運算 符號 targe 取反 span 特殊性 一個 target 位運算符:是指對二進制位從低位到高位對齊後進行運算。 1、按位與 & 二進制“與”運算規則:1&1=1 1&0=0 0&0=0 例如
k進制正整數的對k-1取余與按位取余
散列函數 輸入 frame 整除 data- display order view ren 華電北風吹 天津大學認知計算與應用重點實驗室 日期:2015/8/24 先說一下結論 有kk進制數abcdabcd,有abcd%(k?1)=(a+b+c+
hdu 5446 lucas+crt+按位乘
我們 hdu exgcd using sdn pac log mes end http://acm.hdu.edu.cn/showproblem.php?pid=5446 題意:題目意思很簡單,要你求C(n,m)mod p的值 p=p1*p2*...pn; 題解:對於C(n