问题标签 [uint8t]

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 投票
2 回答
2063 浏览

c++ - 如何使用 uint8_t 而不是 char?

我希望了解有关 uint8_t 与 char、可移植性、位操作、最佳实践、事态等方面的情况。您知道有关该主题的好读物吗?

我想做字节IO。但当然 char 的定义比 uint8_t 更复杂、更微妙;我认为这是引入 stdint 标头的原因之一。

但是,我在多次使用 uint8_t 时遇到了问题。几个月前,一次,因为 iostreams 没有为 uint8_t 定义。是不是有一个 C++ 库在做真正定义良好的字节 IO,即读写 uint8_t?如果没有,我认为没有需求。为什么?

我最近的头痛源于此代码无法编译:

为什么会出错?如何使这项工作?

0 投票
1 回答
787 浏览

c - 在灰度像素图像中绘制一个矩形

我正在使用此功能拍摄黑色像素的图像并绘制白色矩形。该函数的尺寸取正值和负值,负值向上和向左,正值向下和向右。它采用正值很好,我尽我所能在我的代码中考虑负值,但是当矩形的高度为负时,它被画错了。我们还可以假设输入永远不会超出图像的范围。为什么负宽度输出不正确?我有其他程序可以在屏幕上绘制它。示例输入:draw_rectangle(img, 20, 20, 10, 10, 8, -8, 255); img 是一个像素数组(uint8_t)

}

0 投票
2 回答
857 浏览

swift - 'Int' 与闭包中的 'UInt8' 不同

我正在尝试创建一个保持对外部函数的局部变量的引用的闭包,并且我不断收到这个模棱两可的错误 int is not same to unint8。这对我来说没有意义,因为这里没有涉及数组。这里也没有UInt8s涉及。

我发现我可以通过i在之后返回来解决这个问题i+=n。我认为它i+=n会自行返回,但显然它不会。

0 投票
1 回答
102 浏览

ios - 将浮点数组写入每个反转字节

我将使用 iOS Objective-C 创建字节数组作为所需的输出。该方法是从静态浮点数组转换为 int8_t 数组字节数组。说到实现,我发现float数组中每个float的所有字节都是按顺序颠倒的。输出显示为实际输出。您能告诉我如何转换每个字节并显示为所需的输出吗?以下是我的工作:

实际输出

期望的输出

0 投票
1 回答
3039 浏览

c - 将 uint16_t 数组传递给采用 uint8_t* 的函数

在 C 中,我想将一个 uint16_t 数组传递给一个采用 uint8_t 的函数:

我有这个数组,它在一个结构内:

所以我这样做:

长度不是这里的问题,它正在传递数组。如果这个数组不是一个指针,我得到“错误:从不同大小的整数转换为指针”,我怎样才能让它看起来像一个 uint8_t 数组?就该函数而言,一个 uint16_t 数组看起来就像一个大小为 uint8_t 的双长度数组,但我不确定如何告诉编译器这个......当输入已经是一个指针时。

如果数组'd'不在结构内,而只是说一个全局,我会这样做

在传递的结构中为数组传递函数的正确方法是什么?

0 投票
1 回答
357 浏览

c# - 将十六进制字节(无可显示字符)转换为带前导零的 8 位二进制

我的想法是我得到像 0x80,0x65 这样的字节,如果它小于 8 位,我需要将这些字节转换为带有前导零的 8 位二进制的二进制。(80 -> 1000 0000, 65-> 0110 0101)。

我发现了这个:[如何将 NSInteger 或 NSString 转换为二进制(字符串)值,但它似乎没有使用前导零。

如果他们在不使用任何额外框架的情况下转换的二进制小于 8 位,谁能告诉我如何添加前导 0?

更新:

我找到了一种方法来做到这一点,但它似乎并不有效。通过检查字符串的长度,如果它小于 8,我只需在其中添加缺失的 0。下面是长度为 6 的示例,因此要涵盖所有情况,我将需要 8 个案例。有人有更好的方法吗?

if ([str length]==6) { str=[NSMutableString stringWithFormat:@"%@%@",@"00",str]; NSLog(@"Binary version: %@", str); }

0 投票
2 回答
28646 浏览

c - 将 uint8_t 转换为字符串 [C]

我正在尝试将 uint8_t [uint8_tlets_try[16]] 数组“翻译”为 16*8+1[null character] 元素的字符串。例如:

...

我想要一个像这样的字符串:

1010101001010101...[\0]

这里的问题是:1)有没有一种快速的方法来执行这个操作?

我试图自己做。我的想法是从将单个 uint8_t 变量转换为字符串并通过循环获取完整数组开始[我还没有完成最后一部分]。最后我写了这段代码:

这里还有几个问题:

2) 我不确定我是否完全理解我在网上找到的这个表达式的魔力:buffer2[i] = buffer1[i] + '0'; 有人可以向我解释为什么没有 +'0' 下面的 puts(buffer2) 不能正常工作吗?是新生字符串末尾的空字符使 puts() 起作用吗?[因为它知道它正在打印一个真正的字符串?]

3) 在上面的代码中 puts(buffer2) 给出了正确的输出,而 main() 中的 puts 什么也没给出;我一次又一次地查看代码而发疯,我找不到那有什么问题

4)在我的解决方案中,我设法将 uint8_t 转换为从 int 数组传递的字符串: uint8_t->int array->string; 有没有办法缩短这个过程,直接从 uint8_t 传递到一个字符串,或者改进它?[在论坛中,我只找到了 C++ 中的解决方案] 它可以工作,但我发现它有点沉重而且不那么优雅

谢谢大家的支持

0 投票
1 回答
579 浏览

c - 树莓派 uint8_t 对齐

使用 uint8_t 作为传递给我的传输函数的数组时,我遇到了这种问题。在从 main 函数传递到 transfer 的那一刻,它将大小更改为 4 个元素。与我在传输函数中创建的数组相同,即使我手动创建另一个数组以从主函数发送具有传递长度的值。我知道这是因为我的处理器上的数据对齐和填充。有什么办法可以解决吗?或者我打印错了。

0 投票
2 回答
91 浏览

ios - 将 uint8_t 传递给另一个 viewController EXC_BAD_ACCESS

我使用 AVFoundation 从相机中以 kCVPixelFormatType_420YpCbCr8BiPlanarFullRange 格式拍摄静止图像。我从缓冲区获取所有数据,我想将它传递给另一个视图控制器。

我有一个uint8_t *yBuffer;并且我将此指针传递给(didCaptureImage:withYBuffer:)当前控制器的委托方法。

另一个控制器将其变量设置uint8_t *YBuffer为从委托接收到的变量。

问题是在新控制器中复制 YBuffer 后,我尝试修改数组中的值,它给了我错误EXC_BAD_ACCESS (code=1, address=0x104e40010)

我尝试调试,在我看来,新控制器中的 YBuffer 指针存储来自委托控制器的 YBuffer 值,直到委托从内存中释放。

委托释放前新控制器中 YBuffer 的值:"/87/34/45/76..and so on"

委托释放后新控制器中 YBuffer 的值:""它只是空引号。

也许问题是我复制uint8_t数组的方式?请有人指导我正确的方向。谢谢

0 投票
1 回答
2253 浏览

c - C - Arduino - 无法将 'uint8_t*' 转换为 'uint16_t*'

我对 C / Arduino 很陌生

我正在尝试简化我的代码,以便在编写循环时只需要一个函数。

该代码用于 SPI LCD 显示器,我有两个代码要合并为一个,第一个代码是将 32 个字符的 txt 写入屏幕,从数组中选择 32 个字符 - 这很完美

第二个代码是从数组中选择 512 个字节并将图像写入屏幕 - 这很完美

目前,数组存储在单独的库中,以使生活更轻松 BMPlibrary 和 TXTlibrary

只是为了向大家确认 - 两个代码都可以完美独立地工作

我想出了下面的代码将两者合二为一,使用 if 语句根据数组的大小决定如何处理数组,如果它的小 = 写入 txt,如果它的大 = 写入图像。下面的代码适用于 BMP 但无法编译,因为

但是我现在遇到的问题是,在说明类型转换时,如果我将其设置为 uint8_t,则代码的 txt 部分可以正常工作,但图像代码不会,

如果我设置为 uint16_t 图像工作正常,但 txt 没有!

我不指望慈善机构只是一个小小的帮助之手来弄清楚我哪里出错了,我将不胜感激!我花了几个小时来找出为什么图像一开始不起作用,直到我意识到它与字节大小有关,但现在我不知道如何将两者结合起来!