问题描述:

要求写一个函数,实现,输入一个char,然后经过一系列的位变换,输出一个newChar
具体变换要求如下:

char changeChar(void)
{char ch = 0 ;char newChar = 0;char temp[7];//临时变量printf("请输入ch:");scanf("%d",&ch);//itoa()函数是一个进制转换函数printf("原来的ch的二进制:%s\n",itoa(ch,temp,2));int str[7];//将char中的每一位分离到str数组中for(int j =0;j<=7;j++){//化成二进制时,从右数是第几位就像右边移动几位(注意:下标从零开始)然后在与上1str[j] = (ch>>j)&1;  //移位操作符}int newStr[7];//对原有的每一位进行按要求的具体操作//根据要求不同,可以有不同的变换newStr[0] = str[1];newStr[1] = str[0];newStr[2] = str[3];newStr[3] = str[4];newStr[4] = str[5];newStr[5] = str[2];newStr[6] = str[6];newStr[7] = str[7];//将新的位变换后的转变成charfor(int k = 0;k<=7;k++)newChar = newChar +newStr[k]*pow(2,k);printf("newChar的二进制表达:%s\n",itoa(newChar,temp,2));printf("newChar:%d\n",newChar);return newChar;  //范围newChar}

总结

要直接对char的每一位进行操作难以实现,因此,选用先将char中的每一位提取到一个数组中,然后在数组中进行变换,最后又转换成char便很容易实现了

PS:学艺不精,如有错误请指正

用C语言实现对一个char字符的位操作相关推荐

  1. c语言判断字符串的编码,C语言中判断一个char*是不是utf8编码

    C语言中判断一个char*是不是utf8编码 里我修改了一下, 纯ASCII编码的字符串也返回true, 因为UTF8和ASCII兼容 实例代码: int utf8_check(const char* ...

  2. c语言判断utf-8中文字符串,C语言中判断一个char*是不是utf8编码分享

    --想了解C语言中判断一个char*是不是utf8编码分享的全部内容且更多的C语言教程关注 C语言中判断一个char*是不是utf8编码 里我修改了一下, 纯ASCII编码的字符串也返回true, 因 ...

  3. C语言字符串怎么算char字符,计算C中字符串中char的出现次数

    Michael J.. 22 好的,非循环实现(是的,它意味着一个笑话). size_t CountChars(const char *s, char c) { size_t nCount=0; if ...

  4. c语言练习:输入一个字符,如果是数字字符就输出,如果不是则输出“不是数字字符”。

    #include<stdio.h> main() { char a; scanf("%c",&a); if(a>='0'&&a<=' ...

  5. Java中string字符串和char字符之间的千丝万缕

    目录 前言 String字符串和char字符的区别 拓展 相互转换 String字符串转换成char字符数组 char字符转换成String字符串 char字符数组转换成String字符串 Strin ...

  6. 【Java基础】Java中的char是否可以存储一个中文字符之理解字符字节以及编码集

    Java中的一个char采用的是Unicode编码集,占用两个字节,而一个中文字符也是两个字节,因此Java中的char是可以表示一个中文字符的. 但是在C/C++中由于采用的字符编码集是ASCII, ...

  7. c语言输入一段字符,C语言实现输入一个字符串后打印出该字符串中字符的所有排列...

    本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题.是一个很实用的算法技巧.分享给大家供大家参考.具体实现方法如下: 例如输入字符串abc,则输出由字符 ...

  8. Java里的char类型能不能存储一个中文字符?

    对于这道题,绝大多数的答案都是"可以存储".给出的原因包括: java中的char是unicode存储,unicode编码字符集中包含了汉字,所以可以存储中文: java内部其实是 ...

  9. c语言中计算一个字母的序数,C语言编程 输入一串字符统计英文字母的个数

    C语言编程:输入一行字符,至少50个,统计其中英文字母,数字,其他字母个数 楼上那个不能统计空格个数,我这个可以#include#includeintmain(){intcnt_c=0,cnt_n=0 ...

最新文章

  1. 2 Redis基本知识
  2. 写csv文件_机器学习Python实践——数据导入(CSV)
  3. python与网页设计的区别_Python与设计模式(三):行为型模式(上)
  4. 《设计模式解析》第1章 面向对象范型
  5. 求解偏微分方程开源有限元软件deal.II学习--Step 37
  6. 问题解决——OpenGL超级宝典 关于gltDrawTorus的错误解决
  7. 《Android框架揭秘》读书笔记——JNI
  8. winrar 解决广告弹窗及restorator简介
  9. 2011 9 11最新过QQ游戏检测Cheat Engine(CE)搜索数据
  10. 【C1认证任务】C1-4
  11. html摇色子游戏,Swipebox – 用于触屏设备的精...-html5摇骰子游戏-lightbox——解析_169IT.COM...
  12. SVACH.264AVS去块滤波比较
  13. 通向架构师的道路(第三天)之apache性能调优
  14. 第三讲使用VPB切割和加载
  15. matlab commsrc.pn,poly2trellis
  16. 例程1. LKB -- 慕司板IAP15
  17. 解决问题https访问http加载不出图片资源的顺便在给逻辑做个马杀鸡
  18. 易语言和python融合_易语言和python融合|智联招聘怎么自动投递简历
  19. 推荐几本软件工程方向的书
  20. ansys显示没有提供服务器,ansys链接不到本地服务器

热门文章

  1. 信息安全工程师笔记-加密模式ECB、CBC、CFB、OFB、CTR
  2. FITC-Glucose荧光标记葡萄糖
  3. 假如微信宣布对用户收费...
  4. 前端代码规范(1)谈code review
  5. CentOS 5.4 发布地址
  6. 北京小厂Java实习面经
  7. 什么是堆和栈,它们在哪儿?
  8. 论证使用手机的危害性
  9. 面向对象是什么?为什么我们要先学面向过程,再学面向对象编程?到底什么是面向对象编程?
  10. 【人员密度检测】基于形态学处理和GRNN网络的人员密度检测matlab仿真