zoukankan      html  css  js  c++  java
  • js字节序

    const buffer = new ArrayBuffer(16);
    const int32View = new Int32Array(buffer);
    
    for (let i = 0; i < int32View.length; i++) {
      int32View[i] = i * 2;
    }

    上面代码生成一个 16 字节的ArrayBuffer对象,然后在它的基础上,建立了一个 32 位整数的视图。由于每个 32 位整数占据 4 个字节,所以一共可以写入 4 个整数,依次为 0,2,4,6。

     在栈中是这样的

    	6	15	00000000 
    		14	00000000 
    		13	00000000 
    		12	00000110
    4 11 00000000 10 00000000 9 00000000 8 00000100
    2 7 00000000 6 00000000 5 00000000 4 00000010
    0 3 00000000 2 00000000 1 00000000 0 00000000

     如果在这段数据上接着建立一个 16 位整数的视图,则可以读出完全不一样的结果。

    const int16View = new Int16Array(buffer);
    
    for (let i = 0; i < int16View.length; i++) {
      console.log("Entry " + i + ": " + int16View[i]);
    }
    // Entry 0: 0
    // Entry 1: 0
    // Entry 2: 2
    // Entry 3: 0
    // Entry 4: 4
    // Entry 5: 0
    // Entry 6: 6
    // Entry 7: 0

    在栈中是这样的

    	0	15	00000000 
    		14	00000000 
    		
    	6	13	00000000 
    		12	00000110
    		
    	0	11	00000000 
    		10	00000000 
    		
    	4	9	00000000 
    		8	00000100
    		
    	0	7	00000000 
    		6	00000000 
    		
    	2	5	00000000 
    		4	00000010
    		
    	0	3	00000000 
    		2	00000000 
    		
    	0	1	00000000 
    		0	00000000
    

      

  • 相关阅读:
    找不到vc_runtimeMinimum_x86.msi!
    ubuntu开启coredump
    log4j2项目打成jar包运行日志无法打印
    linux 下使用 tc 模拟网络延迟和丢包
    Spring MVC
    typora实现图片上传
    java异常和调优
    java线程
    java三大特征
    webstorm如何更换主题以及更换主题后字体缩放问题
  • 原文地址:https://www.cnblogs.com/mingjing/p/14729975.html
Copyright © 2011-2022 走看看