在javascript中将32位整数转换为4字节数据

2024-01-11

我被要求将整数转换为 32 位二进制数。 所以被使用integer.toString(2)并得到所需的0和1的32位二进制格式的值。但实际上我被要求做的是将整数转换为 4 字节的数据。 我无法按照建议获得输出。我用过integer.toString(8), integer.toString(16)。但没有用。

Example:

 num=1065489844 
 num.toString(2) //Output: 111111100000100001010110110100
 num.toString(8) //Output: 7740412664

请大家指出我的不足之处。


现在你可以使用ArrayBuffer and DataView。它们是原生的,因此如果您需要经常使用它,性能会更好。

function toBytesInt32 (num) {
    arr = new ArrayBuffer(4); // an Int32 takes 4 bytes
    view = new DataView(arr);
    view.setUint32(0, num, false); // byteOffset = 0; litteEndian = false
    return arr;
}

等于

function toBytesInt32 (num) {
    arr = new Uint8Array([
         (num & 0xff000000) >> 24,
         (num & 0x00ff0000) >> 16,
         (num & 0x0000ff00) >> 8,
         (num & 0x000000ff)
    ]);
    return arr.buffer;
}

它使用 javascript 位运算符来实现这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在javascript中将32位整数转换为4字节数据 的相关文章

随机推荐

  • 嵌入 Jetty 9 - jetty-all.jar 在哪里?

    我正在尝试将 Jetty 9 嵌入到我的项目中 教程位于http www eclipse org jetty documentation current advanced embedding html jetty helloworld ht
  • 将日历设置为特定日期?

    我想设置一个提醒 并在特定日期发出通知 然后我目前正在使用 AlarmManager 和 NotificationManager 当我从 dateDialog 设置选定的日期时 提醒起作用了 如何将日历值设置为固定时间的闹钟 我从中获取当前
  • 在不知道形状的情况下加载 np.memmap

    是否可以加载一个numpy memmap在不知道形状的情况下仍然可以恢复数据的形状 data np arange 12 dtype float32 data resize 3 4 fp np memmap filename dtype fl
  • October CMS 创建多选表单字段

    我需要在 October Cms 后端表单 fields yaml 中创建一个多选表单字段 我应用了以下方法 选择字段 标签 样品类型 下拉菜单属性 多个 多个 该字段的选项将从模型中调用 一切正常 但当我提交表单时 只有第一个选定的选项会
  • for 循环中 findObjectsInBackgroundWithBlock 完成后执行操作

    我的代码中有这样的结构 for METMeetingEntity e in self meetingList PFQuery query PFUser query some query constraints depending on ME
  • 如何从 IntelliJ / PyCharm 中删除材质主题(或重置为默认值)?

    我已经安装了 Material Theme UI 它使我的 IDE 变黑 后来我决定删除并删除插件 不幸的是 这并没有恢复默认颜色 IDE 的某些部分 例如项目窗格 仍然是黑色的 如何恢复 如何从 IntelliJ PyCharm 中删除材
  • Mac OS X Python GUI 管理员提示符

    我有一个 OS X Python 应用程序 它使用 wxPython 作为 GUI 控件 我希望在启动网络服务之前提示用户获得管理权限 类似于使用 Objective C 中的授权服务 API 我发现的最接近的图书馆是 Bob Ippoli
  • android 解码资源为 xml 位图返回 null - API 级别 7

    我有一个奇怪的情况 将我的 PNG 从 drawable hdpi 移动到 drawable 并将 XML 位图放入 drawable hdpi 后 我无法使用以下命令解码这些位图BitmapFactory decodeResource 方
  • Gnuplot 极坐标直方图

    我有一个数据文件file dat平面上的点有三列 无线电 角度 温度 我想使用极坐标和颜色图将此数据绘制为直方图 如下图所示 但使用 gnuplot 我可以创建一个histogram dat文件包含我想要的 bin 的值 但我不知道如何在
  • python中两个列表的排列

    我有两个列表 例如 list1 square circle triangle list2 red green 我如何创建这些列表的所有排列 如下所示 squarered squaregreen redsquare greensquare c
  • 如果满足条件,pandas 将值从一列复制到另一列

    我有一个数据框 df col1 col2 col3 1 2 3 1 4 6 3 7 2 我要编辑df 这样当 col1 的值小于 2 时 从col3 所以我会得到 new df col1 col2 col3 3 2 3 6 4 6 3 7
  • 如何基于二值掩模裁剪图像

    我使用 torch 和一些语义分割算法来生成分割图像的二进制掩码 然后我想根据该蒙版裁剪图像 为了清楚起见 我需要在每个像素的基础上裁剪它 这似乎是一个简单的问题 但我能想到的唯一解决方案是反转draw mask类似于 Coco API 中
  • 为什么多次调用 app.UseEndpoints(..) 时中间件不执行?

    我遇到过由于多次调用而跳过中间件的情况app UseEndpoints Looking at this startup code I would expect SetUser middleware to be executed before
  • vc++10中模板私有继承不可访问

    以下代码使用 GCC 4 4 6 和 Comeau 4 3 10 进行编译 include
  • andThen 对于 Scala 中两个参数的函数

    假设我有两个函数f and g val f Int Int gt Int val g Int gt String 现在我想用andThen得到一个函数h val h Int Int gt String f andThen g 不幸的是它无法
  • 我应该验证 JWT 两次(在 API 网关和服务本身中)吗?

    我目前正在为我们的服务设置 API 网关 API 网关处理令牌验证 通过 OpenID Connect 仅当令牌有效时 请求才会路由到目标后端服务 然后我还应该在后端服务本身中验证令牌吗 该服务需要令牌中的信息来修改数据库查询 仅读取允许用
  • Google Places API 地点描述/摘要

    使用 Google Places API 我似乎无法通过 附近的搜索 或 详细信息搜索 获得某个地点的描述 请查看附图 了解我想要从 JSON 中提取的内容 这些信息一定来自某个地方 只是哪里的问题 Example Picture http
  • 在弹出窗口中隐藏栏地址(chrome)[重复]

    这个问题在这里已经有答案了 我正在寻找这个 但找不到解决方案 我正在使用以下命令打开一个弹出窗口 window open url title toolbar no location no directories no status no m
  • 导致长度不等于 1 或 dplyr 中组长度的分组操作

    我不确定使用哪个函数来执行以下操作 library data table dt data table a 1 4 b 1 2 dt rep a 1 3 by b b V1 1 1 1 2 1 1 3 1 1 4 2 2 5 2 2 6 2
  • 在javascript中将32位整数转换为4字节数据

    我被要求将整数转换为 32 位二进制数 所以被使用integer toString 2 并得到所需的0和1的32位二进制格式的值 但实际上我被要求做的是将整数转换为 4 字节的数据 我无法按照建议获得输出 我用过integer toStri