# JavaScript如何將整數轉為16進制
在JavaScript開發中,經常需要將整數轉換為十六進制(Hexadecimal)表示形式。本文將詳細介紹5種實現方式,并分析其性能差異和應用場景。
## 一、toString() 方法(最常用)
`Number.prototype.toString()` 是最直接的轉換方法:
```javascript
let num = 255;
let hex = num.toString(16); // "ff"
(-255).toString(16); // "-ff"
3.14.toString(16); // "3"
需要固定位數時配合使用:
function toHexWithPadding(num, length = 2) {
return num.toString(16).padStart(length, '0');
}
toHexWithPadding(15); // "0f"
toHexWithPadding(255, 4); // "00ff"
對于性能敏感場景可使用位運算:
function toHexViaBit(num) {
return ((num & 0xFF) + 0x100).toString(16).substr(1);
}
num & 0xFF
確保只取低8位+ 0x100
保證結果為3位數substr(1)
去掉前綴的1處理二進制數據時的高效方案:
function toHexViaUint8(num) {
const arr = new Uint8Array([num]);
return Array.from(arr, byte =>
byte.toString(16).padStart(2, '0')
).join('');
}
使用performance.now()
進行基準測試:
方法 | 100萬次耗時(ms) |
---|---|
toString() | 120 |
位運算方案 | 95 |
TypedArray | 210 |
BigInt(0x1fffffffffffff).toString(16);
// "1fffffffffffff"
function rgbToHex(r, g, b) {
return `#${[r,g,b].map(x =>
x.toString(16).padStart(2,'0')
).join('')}`;
}
使用parseInt()
實現:
parseInt('ff', 16); // 255
parseInt('0xff'); // 255(自動識別)
toString(16)
padStart()
JavaScript提供了多種整數轉十六進制的方案,開發者應根據具體場景選擇:
- 代碼可讀性優先:toString()
- 性能優先:位運算方案
- 二進制處理:TypedArray
掌握這些轉換技巧,能夠高效處理顏色值、內存地址、加密算法等需要十六進制表示的開發場景。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。