我在服务器端(c#)有一个整数a:
int a = 65512;
Run Code Online (Sandbox Code Playgroud)
当我可以把它变成短的时候:(short)a等于-24
我想继续转换到客户端(javascript)
我试图将它转换为第一个二进制文件:a.toString(2)然后做一个a.toString(2) & 0xFF但是徒劳无功
如何在javascript端将数字转换为短数字?
您可以通过使用TypedArray's 来强制JavaScript中的数字到特定的数字类型,具体来说,Int16Array:
function toShort(number) {
const int16 = new Int16Array(1)
int16[0] = number
return int16[0]
}
console.log(toShort(65512))Run Code Online (Sandbox Code Playgroud)
JavaScript没有int与short和这样的,它具有number,这是一个IEEE-754双精度二进制浮点类型(和类型数组如帕特里克罗伯茨的答案)。但是,对于某些操作,它的行为就像具有 32 位整数类型。
您可以使用您的数字并使用位移运算符来丢失该 32 位值的一半,如下所示:
var a = 65512;
a = (a << 16) >> 16;
console.log(a);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
747 次 |
| 最近记录: |