标签: unsigned-char

如何计算unsigned char数组中元素的平均值?

我有一个快速的,我在假设问题,但我无法在网上找到任何东西.

如何计算unsigned char数组中元素的平均值?或者更喜欢它,对unsigned char执行操作?

c c++ unsigned-char

2
推荐指数
1
解决办法
1474
查看次数

如何初始化unsigned char指针

我想初始化一个 长度为1500 的unsigned char*缓冲区,以便我可以从其他来源存储值.

c c++ pointers char unsigned-char

2
推荐指数
1
解决办法
1万
查看次数

如何将双精度转换为无符号字符?

我正在寻找使用 C++ 将双精度向量更改为无符号字符。为了确保它有效,我写道:

unsigned char x = 0;
double y = 4.6;
x = (unsigned char) y;
printf("%d", y);
cout << endl << "the char of 4.6 is: " << x;
getchar();
Run Code Online (Sandbox Code Playgroud)

但是我得到的不是等于 4 或 5 的字符,而是一个巨大的数字,例如 1717986918 或带有 cout 的菱形符号。

我认为这是因为它将 4.6 解释为“4.6”,但有没有办法保存它,因此它只是成为接近相等值的无符号字符?

c++ double casting type-conversion unsigned-char

2
推荐指数
1
解决办法
2万
查看次数

C++ - 分配一个unsigned char缓冲区,然后用字符串填充它

我真的很新,C++所以如果这是一个天真的问题,请原谅我 - 但我一直在寻找答案.

我正在尝试使用以下代码创建一个unsigned char大小的数组1024:

unsigned char *r_record = new unsigned char[1024]();
Run Code Online (Sandbox Code Playgroud)

现在我有一个std::string变量:

std::string hw = "Hello Word";
Run Code Online (Sandbox Code Playgroud)

我想从字节开始填充r_recordwith hw(即'Hello World')10'th.

我怎样才能把hwr_record

所以实际上,我的r_record数据看起来像(.s为空的):

[.........Hello World......and so on]
Run Code Online (Sandbox Code Playgroud)

c++ arrays unsigned-char

2
推荐指数
1
解决办法
3940
查看次数

c中的short int变量

以下程序

short b =-10;
printf("%x %d",b,sizeof(b));
Run Code Online (Sandbox Code Playgroud)

输出(与vs 2008)

 FFFFFFF6 2 
Run Code Online (Sandbox Code Playgroud)

为什么不

 FFF6 2 
Run Code Online (Sandbox Code Playgroud)

签名字符也一样.

c unsigned-char

2
推荐指数
1
解决办法
198
查看次数

从C++字符串转换为unsigned char*并返回

将std :: string转换为unsigned char*并返回的代码是什么?

str = "1234567891234567"
unsigned char* unsignedStr = ConvertStrToUnsignedCharPointer(str);
str1 = ConvertUnsignedCharToStr(unsignedStr);
Run Code Online (Sandbox Code Playgroud)

str并且str1必须相同而不会损失精度.

c++ string casting unsigned-char

2
推荐指数
1
解决办法
2965
查看次数

将字符缓冲区转换为结构

我有一个包含, , , , ,的char缓冲区bufbuf[0] = 10buf[1] = 3buf[2] = 3buf[3] = 0buf[4] = 58

和一个结构:

typedef struct
{ 
    char type;
    int version;
    int length;
}Header;
Run Code Online (Sandbox Code Playgroud)

我想将 转换bufHeader. 现在我正在使用该功能

int getByte( unsigned char* buf)
{
    int number = buf[0]; 
    return number;
}

int getInt(unsigned char* buf)
{
    int number =  (buf[0]<<8)+buf[1];
    return number;
}

main()
{
    Header *head = new Header;
    int location = 0;

    head->type = getByte(&buf[location]); …
Run Code Online (Sandbox Code Playgroud)

c++ struct pointers type-conversion unsigned-char

2
推荐指数
1
解决办法
6244
查看次数

无符号字符在增加16时从f0变为00

我目前正在用C语言编写程序.我的程序中i声明了一个变量.我已将其初始化为:

 unsigned char i = 0x00;
Run Code Online (Sandbox Code Playgroud)

接下来,我有一个while循环,在while循环中,我将增加unsigned char16并将其显示为七位数(例如0000080).好吧,这对于前16个值完全正常运行,但每当unsigned char到达00000f0并再次递增时,它就会返回到0000000.为什么这样,我如何更改我的代码来解决这个问题?提前致谢.

c hex char unsigned-char

2
推荐指数
1
解决办法
103
查看次数

什么类型的转换适合从 unsigned char* 转换为 char*?

当我将数据写入缓冲区或从缓冲区写入数据以保存到文件时,我倾向于使用std::vector<unsigned char>,并且我将这些无符号字符视为要写入任何内容的字节,因此:

int sizeoffile = 16;
std::vector<unsigned char> buffer(sizeoffile);

std::ifstream inFile("somefile", std::ios::binary | std::ios::in);
inFile.read(buffer.data(), sizeoffile); // Argument of type unsigned char* is incompatible
                                        // with parameter of type char*
Run Code Online (Sandbox Code Playgroud)

的第一个参数ifstream::read()想要一个char指针,但我的向量缓冲区是unsigned char. 什么样的类型转换适合在这里将数据读入我的缓冲区?它本质上是一个char*to unsigned char*。我可以使用 reinterpret_cast 或 C 风格的转换,但这让我觉得我做错了什么,因为这些根本不经常被推荐。我是否为缓冲区选择了错误的数据类型(无符号字符)?

c++ casting char unsigned-char

2
推荐指数
1
解决办法
112
查看次数

#define as unsigned char

我想知道如何告诉编译器a #define无符号字符.

#define SET_BITS_LOW 0x80
Run Code Online (Sandbox Code Playgroud)

默认情况下,这SET_BITS_LOW是一个int,但我想要一个unsigned char

c unsigned-char c-preprocessor

1
推荐指数
1
解决办法
6908
查看次数