admin 管理员组文章数量: 1086019
2023年12月19日发(作者:sql中numeric)
function decimalToPaddedHexString(number, bitsize){
let byteCount = (bitsize/8); let maxBinValue = (2, bitsize)-1; /* In this function fails for bitsize above 32bits */ if (bitsize > 32) throw "number above maximum value"; /* Conversion to unsigned form based on */ if (number < 0) number = maxBinValue + number + 1; return "0x"+(number >>> 0).toString(16).toUpperCase().padStart(byteCount*2, '0');}测试脚本:for (let n = 0 ; n < 64 ; n++ ) {
let s=decimalToPaddedHexString(-1, n);
(`decimalToPaddedHexString(-1,${(n+"").padStart(2)}) = ${rt(10)} = ${("0b"+parseInt(s).toString(2)).padStart(34)}`); }检测结果:decimalToPaddedHexString(-1, 0) = 0x0 = 0b0decimalToPaddedHexString(-1, 1) = 0x01 = 0b1decimalToPaddedHexString(-1, 2) = 0x03 = 0b11decimalToPaddedHexString(-1, 3) = 0x07 = 0b111decimalToPaddedHexString(-1, 4) = 0x0F = 0b1111decimalToPaddedHexString(-1, 5) = 0x1F = 0b11111decimalToPaddedHexString(-1, 6) = 0x3F = 0b111111decimalToPaddedHexString(-1, 7) = 0x7F = 0b1111111decimalToPaddedHexString(-1, 8) = 0xFF = 0b11111111decimalToPaddedHexString(-1, 9) = 0x01FF = 0b111111111decimalToPaddedHexString(-1,10) = 0x03FF = 0b1111111111decimalToPaddedHexString(-1,11) = 0x07FF = 0bdecimalToPaddedHexString(-1,12) = 0x0FFF = 0b1decimalToPaddedHexString(-1,13) = 0x1FFF = 0b11decimalToPaddedHexString(-1,14) = 0x3FFF = 0b111decimalToPaddedHexString(-1,15) = 0x7FFF = 0b1111decimalToPaddedHexString(-1,16) = 0xFFFF = 0b11111decimalToPaddedHexString(-1,17) = 0x01FFFF = 0b111111decimalToPaddedHexString(-1,18) = 0x03FFFF = 0b1111111decimalToPaddedHexString(-1,19) = 0x07FFFF = 0b11111111decimalToPaddedHexString(-1,20) = 0x0FFFFF = 0b111111111decimalToPaddedHexString(-1,21) = 0x1FFFFF = 0b1111111111decimalToPaddedHexString(-1,22) = 0x3FFFFF = 0bdecimalToPaddedHexString(-1,23) = 0x7FFFFF = 0b1decimalToPaddedHexString(-1,24) = 0xFFFFFF = 0b11decimalToPaddedHexString(-1,25) = 0x01FFFFFF = 0b111decimalToPaddedHexString(-1,26) = 0x03FFFFFF = 0b1111decimalToPaddedHexString(-1,27) = 0x07FFFFFF = 0b11111decimalToPaddedHexString(-1,28) = 0x0FFFFFFF = 0b111111decimalToPaddedHexString(-1,29) = 0x1FFFFFFF = 0b1111111decimalToPaddedHexString(-1,30) = 0x3FFFFFFF = 0b11111111decimalToPaddedHexString(-1,31) = 0x7FFFFFFF = 0b111111111decimalToPaddedHexString(-1,32) = 0xFFFFFFFF = 0b1111111111Thrown: 'number above maximum value'
版权声明:本文标题:如何在JavaScript中将十进制转换为十六进制 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1702949489a437066.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论