Typescript 奇技淫巧

Typescript 奇技淫巧

Tags
Typescript
邏輯運算
Date
Jul 11, 2022
Status
In progress
Property
low
Creator

非整除時不顯示小數點部分

在js 中使用 / 時, 若非整除則會計算商到小數位, 若只想得到整數的商為最後結果, 有以下幾種方法能達成
let A = 5, B = = 4; console.log(a/b); // 1.25 // 想要結果的商為整數 console.log('使用parseInt()解析結果:'+parseInt(a/b)); // 使用parseInt()解析結果:1 console.log('使用parseInt(, 10)解析結果:'+parseInt(a/b)); // 使用parseInt(,10)解析結果:1 console.log('使用Math.floor()解析結果:'+Math.floor(a/b)); // 使用Math.floor()解析結果:1 console.log('使用()|0 解析結果:'+(a/b)|0); // 這裡會變成0 因為這個用法需作用於一個變數上 console.log('使用~~() 解析結果:'+ ~~(a/b)); // 使用~~() 解析結果:1 let c = (a/b)|0; console.log('使用()|0 賦值後解析結果:'+c); // 使用()|0 賦值後解析結果:1
 

bit mask 的應用

這個技巧常見於跟寄存器或是單位資料為寬有限的設備做通訊解析時會使用到
  • 應用場景 : 思考如何透過一個 1個 word (2 Byte) 的資訊 來表達出 16個控制器當前的開關狀態(On/Off)