我正在测试 ArrayBuffer 并想知道为什么结果是这样的:

Bo J

嗨,我是一名正在学习 JavaScript 的初学者程序员。当我查看源代码时,我创建了一个带有 DataView(缓冲区)的视图,并使用 setUint32 将值放入位置 0。当我再次使用 Uint32Array 加载缓冲区时,为什么值 536870912 没有更改为 32?

var buffer = new ArrayBuffer(76);
var view = new DataView(buffer);

var value = 20000000;

// set value 536807912
view.setUint32(0, parseInt(value, 16));

// [17/05/2019 10:00:20.149] [LOG]    getUint32 536870912
console.log('getUint32 ' + view.getUint32(0));

var test = new Uint32Array(buffer);

/* [17/05/2019 10:00:20.150] [LOG]    Uint32Array [ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] */
console.log(test);
土豆泥

您看到 32 使用的原因Uint32Array是由于Endianness使用 a 时DataViewsetUint32getUint32函数有一个附加参数littleEndian,如果省略它,则默认为大端。然后,使用 a Uint32Array,它将使用您系统的字节序,在这种情况下是小字节序。

因此,Uint32Array如果您使用 big-endian 设置值,然后使用 little-endian 检索它,结果为 32。

为了说明这一点,以下是使用不同字节顺序的两个值:

536870912 =
Little-endian:  00 00 00 20
Big-endian: 20 00 00 00

32 =
Little-endian:  20 00 00 00
Big-endian: 00 00 00 20

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我想知道为什么我的程序没有在我的 while 循环中停止

来自分类Dev

我想知道为什么我的前几千个结果正确,然后在cuda编程中得到了旧值?

来自分类Dev

我的Keylistener不起作用,我想知道为什么

来自分类Dev

想知道为什么我的代码无法删除我想要的任何号码?

来自分类Dev

我想知道为什么我必须使用Ajax打印在WordPress中使用的变量

来自分类Dev

想知道为什么我的JQuery数组循环未正确设置我的href

来自分类Dev

我想知道为什么我的代码在 XML 信息之间产生空白行?

来自分类Dev

我想知道为什么模板方法可以调用非模板方法?

来自分类Dev

我想知道为什么魔术函数会为特定运算符提供特定答案

来自分类Dev

我想知道为什么dist文件夹的大小比src的角度大?

来自分类Dev

我想知道为什么Clojure中不评估代码的优点是数据

来自分类Dev

想知道为什么我的GUI检查按钮功能不起作用?

来自分类Dev

我想知道为什么导航div不占据100%的高度

来自分类Dev

想知道为什么我的带捕鼠器的Createjs会变慢。(提供了jsfiddle)

来自分类Dev

我想知道为什么模板方法可以调用非模板方法?

来自分类Dev

我想知道为什么这段代码不起作用?

来自分类Dev

我不知道为什么会这样。jedis 创建名为“jedisConnectionFactory”的 bean 时出错

来自分类Dev

我只是想知道为什么以下代码在执行时不会出现分段错误

来自分类Dev

我想知道While(cin)测试什么?

来自分类Dev

compareTo正在要求我进行投射,但我不知道为什么

来自分类Dev

我的C程序正在生成分段错误,我不知道为什么

来自分类Dev

stoi() 和 stod() 正在终止我的程序,我真的不知道为什么

来自分类Dev

有人知道为什么我的查询没有任何结果吗?

来自分类Dev

Android Studio我不知道为什么它不显示结果

来自分类Dev

在派生类的字段中运行的代码顺序是什么?我想知道为什么得到此输出,我听不懂

来自分类Dev

我的SPOJ生成素数的C ++程序提供了预期的输出,但最终崩溃了。拜托,让我知道为什么会这样

来自分类Dev

我想知道为什么我不能将我的文本与代码中的变量连接起来。我该如何解决此代码?

来自分类Dev

在代码的最后一行中,我尝试进行投射,但返回null。我的意思是选择=空。我想知道为什么以及如何解决它

来自分类Dev

Python函数正在更改输入的值,但我不知道为什么

Related 相关文章

  1. 1

    我想知道为什么我的程序没有在我的 while 循环中停止

  2. 2

    我想知道为什么我的前几千个结果正确,然后在cuda编程中得到了旧值?

  3. 3

    我的Keylistener不起作用,我想知道为什么

  4. 4

    想知道为什么我的代码无法删除我想要的任何号码?

  5. 5

    我想知道为什么我必须使用Ajax打印在WordPress中使用的变量

  6. 6

    想知道为什么我的JQuery数组循环未正确设置我的href

  7. 7

    我想知道为什么我的代码在 XML 信息之间产生空白行?

  8. 8

    我想知道为什么模板方法可以调用非模板方法?

  9. 9

    我想知道为什么魔术函数会为特定运算符提供特定答案

  10. 10

    我想知道为什么dist文件夹的大小比src的角度大?

  11. 11

    我想知道为什么Clojure中不评估代码的优点是数据

  12. 12

    想知道为什么我的GUI检查按钮功能不起作用?

  13. 13

    我想知道为什么导航div不占据100%的高度

  14. 14

    想知道为什么我的带捕鼠器的Createjs会变慢。(提供了jsfiddle)

  15. 15

    我想知道为什么模板方法可以调用非模板方法?

  16. 16

    我想知道为什么这段代码不起作用?

  17. 17

    我不知道为什么会这样。jedis 创建名为“jedisConnectionFactory”的 bean 时出错

  18. 18

    我只是想知道为什么以下代码在执行时不会出现分段错误

  19. 19

    我想知道While(cin)测试什么?

  20. 20

    compareTo正在要求我进行投射,但我不知道为什么

  21. 21

    我的C程序正在生成分段错误,我不知道为什么

  22. 22

    stoi() 和 stod() 正在终止我的程序,我真的不知道为什么

  23. 23

    有人知道为什么我的查询没有任何结果吗?

  24. 24

    Android Studio我不知道为什么它不显示结果

  25. 25

    在派生类的字段中运行的代码顺序是什么?我想知道为什么得到此输出,我听不懂

  26. 26

    我的SPOJ生成素数的C ++程序提供了预期的输出,但最终崩溃了。拜托,让我知道为什么会这样

  27. 27

    我想知道为什么我不能将我的文本与代码中的变量连接起来。我该如何解决此代码?

  28. 28

    在代码的最后一行中,我尝试进行投射,但返回null。我的意思是选择=空。我想知道为什么以及如何解决它

  29. 29

    Python函数正在更改输入的值,但我不知道为什么

热门标签

归档