在VC 2010环境下,我要实现从一个文本文件中读取一串预先已经输入进该文本文件的字符串,并将这个字符串中的每一个字符全部以2进制的形式输出 现在我的情况是, 已经成功从文本文件中读出了字符串并成功输出 但是在将其转换为2进制码的时候遇到了问题, 初学C++ 求帮助!
目前程序如下:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
long fan;
ifstream file1("Input.txt");
string str;
char str2;
getline(file1,str);
//cout<<str;
????? for(int i=0; i<8; i++){
????? str2 = str[i] >> i;
????? str2 = str2 & 1;
????? cout << str2 << endl;
}
file1.close();
getchar();
getchar();
return 0;
}
可以定义一个函数,实现把一个字符转换为二进制码输出。
在函数中,先将1左移7位,就可以得到二进制值10000000,再将此值与一个字符“按位与”,然后判断其值是否为0。不为0就输出1,否则就输出0。类似的操作做8次,就可以输出一个字节的8位二进制码了。
#include<stdio.h>
void prt(char c)
{int i;
for(i=7;i>=0;i--)
printf("%d",(c & 1<<i)!=0);
printf(" ");
}
int main()
{ char s[100];
int i;
gets(s);
for(i=0;s[i];i++)
prt(s[i]);
printf("\n");
return 0;
}
C++编程 将字符串转换为二进制码输出
在函数中,先将1左移7位,就可以得到二进制值10000000,再将此值与一个字符“按位与”,然后判断其值是否为0。不为0就输出1,否则就输出0。类似的操作做8次,就可以输出一个字节的8位二进制码了。include<stdio.h> void prt(char c){int i;for(i=7;i>=0;i--)printf("%d",(c & 1<...
使用C++语法将字符串类型转换成二进制类型,具体算法。
int main(){ string str="101011";\/\/为了简单此处取了个常量,当然可以用cin输入 const char *str1=str.c_str();\/\/返回c风格字符串 vector<int> bytes;\/\/顺序容器,如果此处不用的话 你可以定义一个大的空间存储,也可以用动态分配空间 int i=0;while(*(str1+i)!=0){ int j=*(str...
在C++中怎样将一个字符串转化为二进制代码输出
include void outc(char c) { unsigned char k = 0x80; for (int i=0; i>= 1) { if (c & k) printf("1"); else printf("0"); } printf(" "); } void main() { char str[]="DATA"; for(int i=0; str[i]; i++) { outc(str[i]); } ...
用C++如何把一个字符串转化为二进制数
字符串DATA到int很简单,就一句话。int到二进制数,就要算了。代码十几二十句吧 字符串到整型 include <stdlib.h> include <stdio.h> int main(){ char a[] = "-100" ;int c ;c = atoi( a ) ; \/\/这句就是转化了 printf("c = %d\\n", c) ;return 0;} ...
求C++高手将字母串转化为2进制比特流
include <string> include <iterator> include <sstream> using namespace std;int main(){ stringstream s;s << ios::binary << "101010";char a;s >> a;cout << a;system("pause");} C++没有二进制流这种数据类型,所以我把读取的二进制内容保存到char里了,可以进行位操作。
4) 用c++编程;输入一字符,将字符的ASCII码值用二进制形式输出;
cout<<"您所输入的字符串:“"<<b<<"”已储存到计算机中。"<<endl;output.close();\/\/在前面我写的程序中,我没有注意到这一点,要关闭文件。关闭文件就用fstream对象函数表示,close()} 从output.txt读入就需要用到我们C++的一个类ifstream。它专门用来从文件当中读入数据的。其用法为:ifstream...
怎么用C++将字符串(很长)转换为二进制 如‘A’(ASC码为65) 转换为: 0...
void itoa_8bit_bin(char* str, char i){ unsigned int mask = 0x80;while ( (i & mask) == 0 ){ (str++) = '0';mask >>= 1;} itoa(0xff & i, str, 2);}
04_C++中输出十六进制、二进制
std::cout << std::bitset(num).to_string() << std::endl; \/\/ 输出32位二进制表示 } 方式2:显示为二进制(bitset)bitset类在处理二进制数的输出方面非常实用。它允许用户通过指定位数,将一个整数转换为二进制字符串。以下示例展示了如何使用bitset类输出十六进制值对应的二进制表示:cpp inclu...
用C++输入一个十进制数,将其转换为二进制数输出。
十进制数转换为二进制数的代码为:include 〈iostream〉include 〈bitset〉int main(){ int num;cout<<bitset<sizeof(num)*8>(num)<<endl;return 0;} 扩展资源:代码中所使用的库函数-bitset:C++语言的一个类库,用来方便地管理一系列的bit位而不用程序员自己来写代码。bitset除了可以访问指定下标...
谁能编一个把PCM(自然码)转成为二进制的C++程序
程序检测数据:输入自然码 1112 输出二进制码10000 希望对你有帮助 === include<iostream> include<string> using namespace std;int main(){ \/\/接收输入的4位自然码字符串 转化为整形 \/\/temp为每位的权值8 4 2 1 \/\/result[]为要输出的二进制结果的数组 int c[4]={0},SUM=0,temp[4]=...