附加位以增加char的大小

Rob*_*Rob 0 c++

有什么方法可以追加特定变量的大小吗?例如,如果我有:

static_cast<char>(0x0147)
Run Code Online (Sandbox Code Playgroud)

一个8位字符,我想在没有改变数据类型的情况下将其增加到16位,这可能吗?

Lig*_*ica 6

没有.

对象的大小不仅与其类型有关; 大小由类型定义.

你不能改变一个而不是另一个.

如果这就是你想要的,只需int16_t从中初始化一个新char的.

或者,您可以vector<char>根据需要为此集合添加新元素.

(移位与它无关;这与转换数据有关.)

  • @Rob一个移位是*算术*操作,非常类似于乘法(或除法)`0x0147 << 4`是`0x1470`,这与`0x0147*16`(2到4次幂)相同 (2认同)