华中科技大学 2010 奇偶校验
来源:互联网 发布:手机壁纸diy软件 编辑:程序博客网 时间:2024/04/30 09:38
题目:输入一个字符串,对其中的每个字符,求字符的ASCII的二进制表示,放数组的1~7位,校验位放数组的0位,并把数组输出。
学习与体会:
1.什么是奇偶校验码?举例:'a'的ASCII码是97,二进制表示为1100001,如果是奇校验,因为1100001有奇数个1,所以校验位为0,即01100001。
'3'的为0110011,有偶数个1,所以校验位为1(凑出奇数个1),即10110011。 而偶校验则是要凑出偶数个1。
2.cout<<typeid(变量名).name()<<endl; 可以输出变量类型。
3.字符数组的结束符为'\0',可自行赋值使用,例:a[9]='\0'; */
4.memset()函数在头文件<cstring>或<string.h>中。而string类型在<string>中。
#include <iostream>#include <stdio.h>#include <cstring>#include <string>using namespace std;//函数JiOu变量char a[9]={'0','0','0','0','0','0','0','0','\0'};int b;int shang,yu,i=7,num=0;//求字符奇偶校验码并输出void JiOu(char c);int main(){string str;int len,i;while(cin>>str){ //输入字符串len=str.length(); //求长度 for(i=0;i<len;i++) //对每个字符求奇偶校验码并输出JiOu(str[i]);}return 0;}//求字符奇偶校验码并输出void JiOu(char c){//初始化变量memset(a,'0',8*sizeof(char)); //初始化数组b=(int)c; //被除数 i=7; num=0; //'1'的个数//求出字符c的ASCII的二进制表示,放入a[1]~a[7]中while((shang=b/2)!=0){a[i]=b%2+48; //求余(48为字符'0'的ASCII)if(a[i--]=='1')num++;b=shang; //商成被除数}a[i]='1'; //非零二进制数的最高位为'1'num++;//求奇偶校验位,放入a[0]中a[0]=num%2==1?'0':'1';//输出printf("%s\n",a);}
1 0
- 华中科技大学 2010 奇偶校验
- 奇偶校验-华中科技大学计算机题
- 华中科技大学 2010 a+b
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- 奇偶校验
- android activity四种启动模式介绍及应用场景以及实例演示
- 从浏览器web端跳转到本地app(从h5跳native)
- kaldi群北京线下交流会(2017年4月9日)
- Python拉勾爬虫——以深圳地区数据分析师为例
- struct inode 和 struct file
- 华中科技大学 2010 奇偶校验
- I2C通信 读写数据过程
- Java、JFrame制作录制GIF小工具
- initialize方法和init区别详解
- BZOJ2818: Gcd
- AES/CBC/PKCS5Padding加解密
- interactivePopGestureRecognizer
- NodeJS入门(一)- 基本文件路由实现
- open-GOP