unsigned-char相关内容
..
(已编辑将 C/C++ 更改为 C) 请帮我找出一个关于C中char和unsigned char的清晰说明.特别是当我们在嵌入式设备和普通PC之间传输数据时(缓冲区之间的区别unsigned char 和普通 char). 解决方案 你问的是两种不同的语言,但在这方面,答案(或多或少)对两者都是相同的.不过,您确实应该决定使用哪种语言. 区别: 它们是不同的类型 cha
..
是否有任何 C 编译器将默认类型的 char 视为无符号,除非用户在文件或项目设置中明确提及? /卡努_ 解决方案 GCC 可以.但仅在为约定为 unsigned char 的平台编译时,包括 ARM linux[*].当 GCC 为 x86 编译时,默认为 char 被签名. [*] 或者至少在过去是这样.据我所知,从那以后,Linux 已经在 ARM 上切换到了不同的默认
..
通常需要一次从内存中读取一个字节,就像在这个简单的 memcpy() 实现中一样: void *memcpy(void *dest, const void *src, size_t n){char *来自 = (char *)src;char *to = (char *)dest;while(n--) *to++ = *from++;返回目的地;} 但是,我有时会看到人们明确使用 unsign
..
显然编译器认为它们是不相关的类型,因此需要 reinterpret_cast.为什么会有这样的规定? 解决方案 它们是完全不同的类型,见标准: 3.9.1 基本类型 [basic.fundamental] 1 声明为字符 char) 的对象应足够大存储实现的基本字符集的任何成员.如果一个该集合中的字符存储在字符对象中,积分该字符对象的值等于单个的值该字符的字符文字形式.它是实现
..
根据 C 和 C++,CHAR_BIT >= 8. 但是每当 CHAR_BIT >8, uint8_t 甚至不能表示为 8 位. 它必须更大,因为 CHAR_BIT 是系统上任何数据类型的最小位数. 在什么样的系统上,uint8_t 可以被合法地定义为 unsigned char 以外的类型? (如果 C 和 C++ 的答案不同,那么我想知道两者.) 解决方案 如果存在,u
..
我有以下代码: cvtColor (image, image, CV_BGRA2RGB);Vec3b底部RGB;bottomRGB=image.at(821,1232); 当我显示bottomRGB[0]时,显示的值大于255,这是什么原因? 解决方案 正如你所评论的,原因是你使用 cout 直接打印其内容.在这里,我将尝试向您解释为什么这行不通. cout 为什么 "cout"
..
我有以下一段代码: long int compute_data_length(unsigned char* buf, int data_offset) {长整数;如果(!缓冲)返回-1;开关(数据偏移量){情况 2:{len = (buf[2]
..
有人知道一个提供执行此逻辑功能的库,或者可能提供执行此逻辑的方法的库吗? 我正在尝试转换: unsigned char test [] ="\ x00 \ x00 \ x56 \ x4b \ x7c \ x8a \ xc5 \ xde"; 收件人: 94882212005342/0x0000564b7c8ac5de 我知道我可以在 test 中循环遍历每个字节,并利用 s
..
我需要转换 BigInteger 转换为以big-endian格式编码的无符号整数,但由于椭圆曲线公钥的坐标.根据 修改 事后看来,这可能是一个愚蠢的帖子.我对负数和正数以及如何处理该数感到困惑(并且由于时间太晚了,我的思想转向糊涂了),但事实证明,由于
..
在Python2.7中,通过USB批量传输,我从相机获得了图像帧: frame = dev.read(0x81, 0x2B6B0, 1000) 我知道一帧是342x260 = 88920像素的小尾数,因为我从批量传输中读取了2x88920 = 177840(0x2B6B0). 如何将typecode = B的帧数组的内容转换为uint16大字节序数组? 解决方案 这种方法应
..
我正在使用2个库.一个接收并返回std::string s,而另一个使用std::vector s. 如果我可以从std::string和std::vector窃取基础数组,并能够将它们相互移动而又不过度复制,那将是一个很好的选择. ATM我使用类似的东西: const unsigned char* raw_memory
..
我有一个无符号的整数(2个字节),我想将其转换为无符号的char类型.通过搜索,我发现大多数人建议执行以下操作: unsigned int x; ... unsigned char ch = (unsigned char)x; 正确的方法吗?我问是因为无符号char是1个字节,我们将2个字节的数据强制转换为1个字节. 为防止任何数据丢失,我想创建一个无符号char []数组并
..
我有一个Java应用程序,该应用程序调用c库来执行加密功能. 这是一个用c实现的自定义库,我们需要在某些Java程序中使用它. 我需要一种定义SWIG类型图的方法,该方法将允许我调用从Java传递字节数组的函数,并将其视为C函数中的无符号字符指针,其中C函数填充数据并将其返回给Java 我目前不满意的界面文件摘录如下 %module CryptoFacade %pointer_fu
..
这似乎很奇怪.我发现误会了.我使用带有字符的gcc作为签名字符.我一直认为,在比较表达式(和其他表达式)中,如有必要,带符号的值会转换为无符号的值. int a = -4; unsigned int b = a; std::cout
..
为什么下面的c代码以无限循环结尾? for(unsigned char i = 0; i
..
假设我有一个功能 void foo(char *) 在内部,需要将其输入视为NUL终止字节块(例如,它是字符串上的散列函数)。我可以在函数中将参数转换为 unsigned char * 。我也可以将声明更改为 void foo(unsigned char *) 现在,鉴于 char , signed char 和 unsigned char 是三种
..
当我用gcc编译下面的代码时: int main() { unsigned char c = 1; c
..
我是C ++的新手,做了一些Google搜索,我认为 sprintf 会做这个工作,但是编译时出现错误,我无法转换在 unsigned char 和 char 之间。我需要一个无符号的字符,因为我要打印到一个图像文件(0-255RGB)。 $ b $ pre $无符号字符** * pixels = new unsigned char ** [SIZE]; vector pixe
..
我编写了一个程序,一次处理文本文件并提取相关信息。我的程序适用于一些文本文件,而不是其他文件。通过我的程序无法运行的文件和没有程序的文件之间没有明显区别。 对于有问题的文件: 程序打开文件 它会一次读入并处理一行中的一个很好的块,因为它应该 但是,它达到了一个问题行并给出错误消息: “调试断言失败的文件: f:/dd/vctools/crt_bld/self_x86/s
..