| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 385 人关注过本帖
标题:请问怎么交换一个字符的前四位与后四位,然后输出交换后的字符
只看楼主 加入收藏
千里之外W
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-8-10
结帖率:50%
收藏
已结贴  问题点数:2 回复次数:6 
请问怎么交换一个字符的前四位与后四位,然后输出交换后的字符
谢谢,急用
2013-12-26 14:25
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:1 
先获取前四位,然后把后四位移位,再把前四位加进去

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-12-26 14:36
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:1 
我无聊,翻译一下C中移位的规定:

1。每个操作数都应当是整数类型

2。每个操作数都先进行整型提升,结果类型是左操作数整型提升后的类型。如果右操作数为负数或大于等于左操作数整型提升后的位宽度,其行为是未定义的(the behavior is undefined)

3。对于E1<<E2
如果E1是unsigned类型:结果是……(地球人都知道),溢出时保留低位。
如果E1是signed类型:值为非负,且不溢出,结果是……(地球人都知道);否则,其行为是未定义的(the behavior is undefined)

4。对于E1>>E2
如果E1是unsigned类型,或者为signed类型但值非负,结果是……(地球人都知道)
如果E1是signed类型,且值为负,结果是 实现定义的(implementation-defined)。
2013-12-26 16:13
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
对于字符类型,C语言中一共有三个,分别是 char、signed char 和 unsigned char
char 是signed还是unsigned,由编译器自行决定。
但即使编译器将char设为signed类型,char  和 signed char 仍属于两个不同的类型,虽然此时两者行为一致
但即使编译器将char设为unsigned类型,char  和 unsigned char 仍属于两个不同的类型,虽然此时两者行为一致
2013-12-26 16:31
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
(char)( ((unsigned char)c<<4) | ((unsigned char)c>>4) )
2013-12-26 16:31
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:1 
交换是可以  但是交换后 未必就是可输出(可见)字符了

DO IT YOURSELF !
2013-12-27 08:15
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
以下是引用rjsp在2013-12-26 16:31:09的发言:

对于字符类型,C语言中一共有三个,分别是 char、signed char 和 unsigned char
char 是signed还是unsigned,由编译器自行决定。
但即使编译器将char设为signed类型,char  和 signed char 仍属于两个不同的类型,虽然此时两者行为一致
但即使编译器将char设为unsigned类型,char  和 unsigned char 仍属于两个不同的类型,虽然此时两者行为一致

我没想这么多

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-12-27 08:18
快速回复:请问怎么交换一个字符的前四位与后四位,然后输出交换后的字符
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025487 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved