问题标签 [byte-shifting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
83 浏览

c++ - 在visual studio中以十六进制移位并通过cout输出

我目前正在尝试通过在线教程学习 C++。本教程向我展示了如何使用 SDL2 制作程序,但我迷失了其中一个涉及十六进制位移的教程。当我使用 Visual Studio 社区 2017 时,讲师正在使用 Eclipse IDE。基本上我想要做的是让“cout”通过使用他在教程中演示的代码来输出:FF123456。

但是,每次我运行程序时,cout 只会显示“0000000”而不是 FF123456。我在这里做错了什么或遗漏了什么吗?

0 投票
1 回答
55 浏览

java - 如何找出数组在初始化时需要多长时间?

想象一下我有一个字节数组 id。

后来我想以这种方式存储数据:

cz, cx, y, y, z, x 在这种情况下是 int 值。

那么创建数组时需要多长时间?我以为我必须以这种方式初始化数组:

但它总是给我一个 ArrayIndexOutOfBoundsException。

0 投票
1 回答
117 浏览

java - 位操作问题(移位,屏蔽,...)

为什么这个表达式总是导致 -2,147,483,648 (11111111 11111111 11111111 11111111)?我不明白。data[] 是一个填充了一些值的字节数组。

谢谢。

0 投票
2 回答
63 浏览

c - 数字移位与变量移位不同

我有以下c代码:

打印出来:

为什么移动相同的数字会产生不同的结果?

0 投票
2 回答
127 浏览

c - 对 unsigned char 对象右移后使用按位 AND 运算符是什么意思?

我正在尝试理解以下代码片段:

它在 的最不重要的位上进行按位与 state,对吗?如果它返回真(即该位被设置),那么这个数字是奇数。否则,它是均匀的。我对么?

谢谢

0 投票
1 回答
127 浏览

c# - c# 字节序和结构

我试图从微控制器获取一些数据包到 C# 程序:

我在两个地方都定义了一个结构。我计算 (sizeof(packet)-4bytes) 的 crc32 并将其放在 mydata_t.crc32 ...

我的 CRC 函数需要字节和长度..所以当我收到数据时..“以字节为单位”我使用 ( private mydata_t fromBytes(byte[] arr))将它们转换为结构

问题: 当我从结构转换为字节数组时,计算 CRC 是错误的“我相信这是因为 c# 中数据类型的字节顺序?我该如何解决这个问题?

这是我从微控制器发送的:

这是我收到并打印的:

然后是问题

这是它在控制台中打印的内容: c#:667986744 - SAM:658480750 - bool:False


我在MCU中试过这个:

这是我收到的:

指令:2

参数:2557891634

str:你好你好

CRC: 1993296691

在 C# 中:

控制台:c#:146416248 - MCU:1993296691 - bool:False

0 投票
2 回答
1141 浏览

c++ - 使用 C++ 从 6 个字节或更多字节生成整数

我是C++编程新手。我正在尝试实现一个代码,通过它我可以从一个6或多个individual bytes.

我已经实现了相同的4 bytes并且它正在工作

我的 4 字节代码:

使用此代码的值value82a12122但是当我尝试做 6 个字节时结果是错误的。

6字节代码:

的输出值value82a163c2错误的,我需要42a082a12122. 那么谁能告诉我如何获得预期的输出以及6 Byte代码有什么问题。

提前致谢。

0 投票
2 回答
1032 浏览

android - Android Kotlin 字节移位 +=

我正在尝试将 BLE 本机字节处理助手转换为 Kotlin。在这个过程中,我注意到在

JAVA

它按预期工作,但是当转换为 kotlin KOTLIN

我收到了预期为整数的错误。所以我假设

"+="

是我的问题并导致假设为整数。所以我有两个问题。

1) += 究竟对字节做了什么。我明白那个

b += 1

是等价的

b = (字节)(b + 1)

但是字节到底发生了什么。是否正在进行转换,或者它是否转换为 int,然后将值添加回字节?

2) Kotlin 中的等价物是什么,为什么它在 Kotlin 中失败。我也试过做

作为记录,如果您好奇的话,这是将整数值转换为 32 位浮点数。不确定这是否有帮助。

如果您对此感兴趣,完整的代码是:

注意*它说

这个

因为我把它写成一个 ByteArray 扩展,所以把它想象成 byteArray 本身。

它的 KOTLIN 版本(错误)

在此处输入图像描述

它的 JAVA 版本(无错误):

在此处输入图像描述

我想要的不仅仅是一个答案,但我会接受它,哈哈。我想更多地了解这里发生的事情,以便将来我也可以自己解决这个问题。提前感谢任何花时间解释和帮助的人。

同样,当我们讨论这个主题时;)。

为什么这在 Java 中有效,但在 Kotlin 中失败。

老实说,我已经厌倦了编写 Java 辅助类来处理字节,所以我试图找出 Kotlin 字节处理的习惯用法。"and" 似乎只有 Ints 的重载,并且字节在 Kotlin 中不被视为 Ints。

所以作为一个额外的问题,如果你能解释这个问题,我也会很感激。

0 投票
1 回答
928 浏览

c - C - 步行一和零测试,通过进位旋转

我是一名学生,在 C 语言上玩了几年,但没有稳定的时间练习这门语言。我正在尝试对一个字节执行步行和步行零测试并且非常卡住,任何提示将不胜感激。

我有两个问题。

1) 我如何进行零式行走?

2)如何在 C 中通过进位(或左)执行向右旋转?

我制定了一段步行代码,尽管这不会进行并在位 0 重新启动

零行走:??

我知道必须有更好的方法来做到这一点,有人可以帮忙吗?

问候

0 投票
4 回答
730 浏览

c++ - 将 uint8 数组反序列化为 int64 失败但应该可以工作

我将通过 tcp 发送一个 int64 并需要对其进行序列化和反序列化。

首先,我将其转换为 uin64。

我将它字节转换为一个 uint8 数组。

然后我将数组字节转换为 uint64

最后将其转换回 int。

但它返回的值与我输入的值不同......我检查了十六进制值,但它们应该是正确的......

代码:

输出:

解决了一天,找不到问题

谢谢。