AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

七種JavaScript 中位運算符的神奇用法

來源: 責編: 時間:2024-06-11 17:47:07 126觀看
導讀JavaScript與許多其他編程語言不同,JavaScript 沒有定義不同類型的數字,如整數、短整型、長整型、浮點型等。整數精度(不帶小數點或指數表示法)最多為 15 位。小數精度的最大位數為 17 位,但浮點運算并不總是 100% 準確。

JavaScript與許多其他編程語言不同,JavaScript 沒有定義不同類型的數字,如整數、短整型、長整型、浮點型等。vEu28資訊網——每日最新資訊28at.com

vEu28資訊網——每日最新資訊28at.com

整數精度(不帶小數點或指數表示法)最多為 15 位。小數精度的最大位數為 17 位,但浮點運算并不總是 100% 準確。vEu28資訊網——每日最新資訊28at.com

位運算直接計算二進制位,位運算直接處理每個位。它是一種非常低級的操作。優點是速度極快,但缺點是非常不直觀,在很多場合不能使用。vEu28資訊網——每日最新資訊28at.com

位運算只對整數起作用。如果操作數不是整數,則在運行前會自動轉換為整數。vEu28資訊網——每日最新資訊28at.com

在JavaScript內部,值是以64位浮點數的形式存儲的,但是進行位運算時,是以32位有符號整數進行運算的,返回值也是32位有符號整數。vEu28資訊網——每日最新資訊28at.com

JS中常用的7個位運算符vEu28資訊網——每日最新資訊28at.com

1.按位與(AND)&

&將二進制數中相應的位按照特定的方式組合并運算,如果相應位全為1,結果為1,如果任意位為0,結果為0。vEu28資訊網——每日最新資訊28at.com

// The binary representation of 1 is: 00000000 00000000 00000000 00000001// The binary representation of 3 is: 00000000 00000000 00000000 00000011// -----------------------------// The binary representation of 1 is: 00000000 00000000 00000000 00000001console.log(1 & 3) // 1

2. 按位或(OR)|

| 該運算符與&的區別在于,若任意一個操作數在相應位為1,則結果為1。vEu28資訊網——每日最新資訊28at.com

// The binary representation of 1 is: 00000000 00000000 00000000 00000001// The binary representation of 3 is: 00000000 00000000 00000000 00000011// -----------------------------// The binary representation of 3 is: 00000000 00000000 00000000 00000011console.log(1 | 3) // 3

3. 按位異或(XOR)^

^如果兩個操作數位對應只有一個1,則結果為1,其他都為0。vEu28資訊網——每日最新資訊28at.com

// The binary representation of 1 is: 00000000 00000000 00000000 00000001// The binary representation of 3 is: 00000000 00000000 00000000 00000011// -----------------------------// The binary representation of 2 is: 00000000 00000000 00000000 00000010console.log(1^3) // 2

4. 按位非(NOT)~

~ 該運算符是將位取反,1變成0,0變成1,也就是求二進制的補碼。vEu28資訊網——每日最新資訊28at.com

// The binary representation of 1 is: 00000000 00000000 00000000 00000001// The binary representation of 3 is: 00000000 00000000 00000000 00000011// -----------------------------// 1's inverse binary representation: 11111111 11111111 11111111 11111110// Since the first bit (sign bit) is 1, this number is a negative number. JavaScript internally uses complement code to represent negative numbers, that is, you need to subtract 1 from this number, take the inverse again, and then add a negative sign to get the decimal value corresponding to the negative number.// -----------------------------// The inverse of 1 minus 1: 11111111 11111111 11111111 11111101// Negative code: 00000000 00000000 00000000 00000010// Represented as decimal plus minus sign: -2console.log(~ 1) // -2

簡單記憶:一個數和它自身的取反值相加等于-1。vEu28資訊網——每日最新資訊28at.com

5.左移<<

<<運算符將指定值的二進制數的所有位向左移動指定的次數。vEu28資訊網——每日最新資訊28at.com

移動規則:丟棄高位,用0填充低位,即把所有數按二進制形式向左移動相應的位數,去掉高位(丟棄),去掉低位。vEu28資訊網——每日最新資訊28at.com

空白處用零填充。vEu28資訊網——每日最新資訊28at.com

// The binary representation of 1 is: 00000000 00000000 00000000 00000001// -----------------------------// The binary representation of 2 is: 00000000 00000000 00000000 00000010console.log(1 << 1) // 2

6. 有符號右移>>

>> 此運算符將指定操作數的位向右移動指定的位數。向右移出的位將被丟棄,最左邊的位將被復制以填充左側。由于新的最左邊的位始終與之前相同,因此符號位不會改變。這就是為什么它被稱為“符號通信”。vEu28資訊網——每日最新資訊28at.com

// The binary representation of 1 is: 00000000 00000000 00000000 00000001// -----------------------------// The binary representation of 0 is: 00000000 00000000 00000000 00000000console.log(1 >> 1) // 0

7. 無符號右移>>>

>>> 該運算符將第一個操作數向右移動指定的位數。向右移動的位被丟棄,左側用0填充。由于符號位變為0,因此,結果始終為非負數。(譯注:即使向右移動0位,結果也是非負數。)vEu28資訊網——每日最新資訊28at.com

對于非負數,有符號和無符號右移總是返回相同的結果。例如,9 >>> 2 得到 2 和 9 >> 2 相同。vEu28資訊網——每日最新資訊28at.com

js中位運算符的妙用

1).使用&運算符判斷數字的奇偶性vEu28資訊網——每日最新資訊28at.com

// even & 1 = 0// odd & 1 = 1console.log(2 & 1) // 0console.log(3 & 1) // 1

2).使用 ~, >>, <<, >>>, | 來舍入vEu28資訊網——每日最新資訊28at.com

console.log(~~ 6.83) // 6console.log(6.83 >> 0) // 6console.log(6.83 << 0) // 6console.log(6.83 | 0) // 6// >>> cannot round negative numbersconsole.log(6.83 >>> 0) // 6

3).使用 ^ 完成值交換vEu28資訊網——每日最新資訊28at.com

var a = 5var b = 8a ^= bb ^= aa ^= bconsole.log(a)   // 8console.log(b)   // 5

4).使用&、>>、|完成rgb值與十六進制顏色值之間的轉換vEu28資訊網——每日最新資訊28at.com

/**  * Hexadecimal color value to RGB  * @param {String} hex hexadecimal color string  * @return {String} RGB color string  */   function hexToRGB(hex) {     var hexx = hex. replace('#', '0x')     var r = hexx >> 16     var g = hexx >> 8 & 0xff     var b = hexx & 0xff     return `rgb(${r}, ${g}, $)`   }/**  * RGB color to hexadecimal color  * @param {String} rgb RGB color string  * @return {String} Hexadecimal color string  */  function RGBToHex(rgb) {     var rgbArr = rgb. split(/[^/d]+/)     var color = rgbArr[1]<<16 | rgbArr[2]<<8 | rgbArr[3]     return '#'+ color.toString(16)  }// ------------------------------------------------ -hexToRGB('#ffffff') // 'rgb(255,255,255)'RGBToHex('rgb(255,255,255)') // '#ffffff'

總結

以上就是我今天與你分享的全部內容,希望今天的內容對你有所幫助。vEu28資訊網——每日最新資訊28at.com

最后,感謝你的閱讀,祝編程愉快!vEu28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-93081-0.html七種JavaScript 中位運算符的神奇用法

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 換個角度,靜享通透 森海塞爾 HD 620S 亮相 2024 CanJam 上海展

下一篇: Vue 構建 3D 模型全新方案,TresJS 火啦?

標簽:
  • 熱門焦點
  • K60至尊版狂暴引擎2.0加持:超177萬跑分斬獲性能第一

    Redmi的后性能時代戰略發布會今天下午如期舉辦,在本次發布會上,Redmi公布了多項關于和聯發科的深度合作,以及新機K60 Ultra在軟件和硬件方面的特性,例如:“K60 至尊版,雙芯旗艦
  • 六大權益!華為8月服務日開啟:手機免費貼膜、維修免人工費

    8月5日消息,一年一度的華為開發者大會2023(Together)日前在松山湖拉開帷幕,與此同時,華為8月服務日也式開啟,到店可享六大專屬權益。華為用戶可在華為商城Ap
  • 8月總票房已突破10億!《封神》第一:口碑已經成了

    8月5日消息,據燈塔專業版數據,截至8月5日9時35分,8月總票房(含預售)已突破10億。其中,《封神》以大比分的優勢領先。根據官方消息,目前該片總票房已經超過14.
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • 十個簡單但很有用的Python裝飾器

    裝飾器(Decorators)是Python中一種強大而靈活的功能,用于修改或增強函數或類的行為。裝飾器本質上是一個函數,它接受另一個函數或類作為參數,并返回一個新的函數或類。它們通常用
  • 讓我們一起聊聊文件的操作

    文件【1】文件是什么?文件是保存數據的地方,是數據源的一種,比如大家經常使用的word文檔、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存數據,它既可以保
  • 破圈是B站頭上的緊箍咒

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之每年的暑期檔都少不了瞄準追劇女孩們的古偶劇集,2021年有優酷的《山河令》,2022年有愛奇藝的《蒼蘭訣》,今年卻輪到小破站抓住了追
  • 三星折疊屏手機去年銷售近1000萬臺 今年目標定為1500萬

    7月29日消息,三星率先發力可折疊手機市場,在全球市場已經取得了非常亮眼的成績,接下來會進一步鞏固和擴大這一優勢。三星在推出Galaxy Z Flip5和Galax
  • 三星Galaxy Z Fold5官方渲染圖曝光:13.4mm折疊厚度依舊感人

    據官方此前宣布,三星將于7月26日在韓國首爾舉辦Unpacked活動,屆時將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
Top