C++实现string输出char的二进制 && string按二进制位转char类型
Posted 狱典司
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++实现string输出char的二进制 && string按二进制位转char类型相关的知识,希望对你有一定的参考价值。
C++实现string输出char的二进制 && 二进制string按位转char类型
string按二进制位转char类型
示例代码:
#include <string>
#include <iostream>
using namespace std;
/* 8 Bytes 以0/1为内容的字符串按二进制转化成 1 Byte 的 char */
int bin_to_dec_once(string bin_str)
int ch = 0;
if (bin_str.length() != 8)
cout << bin_str << " 不满足8bits!不可编码!" << endl;
exit(-1);
for (int i = 0; i < 8; i++)
ch += (bin_str[i] - '0') << (7 - i);
return ch;
int main()
string bin1 = "11111111";
string bin2 = "00000110";
char c1 = bin_to_dec_once(bin1);
char c2 = bin_to_dec_once(bin2);
cout << (int)c1 <<endl; /* 输出 -1 */
cout << (int)((unsigned char)c1 )<<endl; /* 输出 255 */
cout << (int)c2 <<endl; /* 输出 6*/
string输出char的二进制
示例代码:
#include <string>
#include <iostream>
#include <string.h>
using namespace std;
/* 十进制转二进制 */
string dec_to_bin(int c)
if(c < 2) return string(1,c + '0'); /* 出口 */
return dec_to_bin(c/2) + string(1, c%2 + '0'); /* 递归,短除法思路 */
/* 按char的8bits补齐前缀0 */
string bin_complete(string bin_code)
return string(8 - bin_code.length() , '0') + bin_code;
/* 将一个char转化为二进制的string */
string char_to_bin(char c)
unsigned char u_c = c;
return bin_complete(dec_to_bin(u_c));
int main()
cout << char_to_bin('x') <<endl; /* 输出为: 01111000 */
cout << char_to_bin(255) <<endl; /* 输出为: 11111111 */
return 0;
以上是关于C++实现string输出char的二进制 && string按二进制位转char类型的主要内容,如果未能解决你的问题,请参考以下文章