输入一字符,将字符的ASCII码值用二进制形式输出;
发布网友
发布时间:2022-05-02 21:34
我来回答
共4个回答
热心网友
时间:2022-06-27 11:11
代码如下:
#include <iostream>
using namespace std;
int main()
{
char a;
int j;
cout<<"请输入一个字符:"<<endl;
cin>>a;
j=a;
cout<<"ASCII值="<<j<<endl;
return 0;
}
扩展资料
ASCII码表达方式:
ASCII码使用7位或8位二进制来表示,分为两种,标准ASCII码 和 扩展ASCII码。
其中,标准ASCII 码也叫基础ASCII码,使用7位二进制数(第8位二进制为0来表示)所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。所以标准ASCII码一共有128种可能(0-127)。
扩展ASCII码使用8位二进制来表示。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号 。
热心网友
时间:2022-06-27 11:12
#include <stdio,h>
#include <conio,h>
#include <stdlib,h>
void main()
{char input;char str。
奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
扩展资料:
计算机采用二进制原因:
首先,二进位计数制仅用两个数码。0和1,所以,任何具有二个不同稳定状态的元件都可用来表示数的某一位。而在实际上具有两种明显稳定状态的元件很多。例如,氖灯的"亮"和"熄";开关的”开“和”关“; 电压的”高“和”低“、”正“和”负“。
纸带上的”有孔“和“无孔”,电路中的”有信号“和”无信号“, 磁性材料的南极和北极等等,不胜枚举。 利用这些截然不同的状态来代表数字,是很容易实现的。
参考资料来源:百度百科-ASCII
热心网友
时间:2022-06-27 11:12
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <conio.h>
char *dtob(char ch)
{
char s[255],tmp;
int a,i,j;
a=ch;
memset(s,'\0',sizeof(s));
if(a==0)
s[0]='0';
while(a>0)
{
tmp=(char)(a%2+48);
for(i=strlen(s)-1;i>=0;i--)/*往后挪*/
{
if(s[i]!='\0'&&((i+1)<sizeof(s)-1))
{
s[i+1]=s[i];
}
}
s[0]=tmp;
a/=2;
}
return s;
}void main()
{
char ch;
printf("input a char:");
scanf("%c",&ch);
printf("result:%s\n",dtob(ch));
getch();
}
热心网友
时间:2022-06-27 11:13
在VC6.0用C写的:#include<stdio.h>
int main()
{
do
{
char x;//存储输入的字符
int b,y;
int i;
short s2[9];
short s1[9];
short c;
scanf("%c",&x);
getchar();
b=y=(int)x;//强制转换,得到字符的ASCII值
for(i=0;y != 0;i++)
{
b = y%2;//y取余,然后存到短整型数组中
s1[i] = b;
y = y/2;//除2取整,就是短除法求二进制
}
c=i-1;//记录该二进制有多少位,不会超过8位,字符的取值范围在0~254,最多就是11111110
for(i=0;i<=c;i++)
{
s2[i]=s1[c-i];//因为前面求到时倒回来的,所以顺序要调整
}
s2[i] = 2;
printf("%c的二进制为:\n",x);
for(i=0;s2[i]!=2;i++)
printf("%d",s2[i]);
printf("\n");
}
while(1);
return 0;
}用C++一样,就是换了一些语句#include<iostream>
using namespace std;main()
{
do
{
char x;//存储输入的字符
int b,y;
int i;
short s2[9];
short s1[9];
short c;
cin>>x;
getchar();
b=y=(int)x;//强制转换,得到字符的ASCII值
for(i=0;y != 0;i++)
{
b = y%2;//y取余,然后存到短整型数组中
s1[i] = b;
y = y/2;//除2取整,就是短除法求二进制
}
c=i-1;//记录该二进制有多少位,不会超过8位,字符的取值范围在0~254,最多就是11111110
for(i=0;i<=c;i++)
{
s2[i]=s1[c-i];//因为前面求到时倒回来的,所以顺序要调整
}
s2[i] = 2;
cout<<x<<"的二进制为:\n";
for(i=0;s2[i]!=2;i++)
cout<<s2[i];
cout<<"\n";
}
while(1);
return 0;
}