我有bitset <8> v8,它的值类似于"11001101",如何将其转换为char?我需要一封信.像字母"f"= 01100110.
PS感谢您的帮助.我需要这个来说明位中的随机错误.例如,没有错误f,并且错误类似于♥,依此类推文件中的所有文本.在文本中,您可以清楚地看到此类错误.
dir*_*tly 12
unsigned long i = mybits.to_ulong();
unsigned char c = static_cast<unsigned char>( i ); // simplest -- no checks for 8 bit bitsets
Run Code Online (Sandbox Code Playgroud)
上述内容应该有效.请注意,位字段可能包含一个无法使用plain表示的值char(它是实现定义的是否已签名) - 因此您应该始终在转换之前进行检查.
char c;
if (i <= CHAR_MAX)
c = static_cast<char>( i );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11665 次 |
| 最近记录: |