展开全部
我测试了一下代码,代码的思路没有问题,实际转换时没有发现错误,转换也都是正常进行的
因为ascii(是ASCII 不是ASCLL)的1-31和127是控制字符或者通信专用字符,并不会显示出来,而其他的ascii码都是可以显示的。有可能你在程序中会发现这些1-31和127号也被显示出来了,这要根据不同的应用程序,也会有不同的显示吧。就是因为这些字符比较特殊,所以你可能会误认为自己的代码出现了问题吧。
代码是没有错误的,但是应该可以想到更好更简洁的代码,比如if(h == 0)i = 0;这种就可以删掉,直接让i = h / 2;前面的if(h > 0)的判断也是不要的。上面这些也都是我个人的见解,我所输入的都是1-126的正数,所以可能楼主有更多的需求所以要加吧。话说能不能用循环来处理呢?
有什么问题再提出来,我们再来探讨吧
具体可以参考百度百科,我也是看了百科才知道这么多的。
参考资料:baike.baidu.com/view/15482.htm?fromId=812
因为ascii(是ASCII 不是ASCLL)的1-31和127是控制字符或者通信专用字符,并不会显示出来,而其他的ascii码都是可以显示的。有可能你在程序中会发现这些1-31和127号也被显示出来了,这要根据不同的应用程序,也会有不同的显示吧。就是因为这些字符比较特殊,所以你可能会误认为自己的代码出现了问题吧。
代码是没有错误的,但是应该可以想到更好更简洁的代码,比如if(h == 0)i = 0;这种就可以删掉,直接让i = h / 2;前面的if(h > 0)的判断也是不要的。上面这些也都是我个人的见解,我所输入的都是1-126的正数,所以可能楼主有更多的需求所以要加吧。话说能不能用循环来处理呢?
有什么问题再提出来,我们再来探讨吧
具体可以参考百度百科,我也是看了百科才知道这么多的。
参考资料:baike.baidu.com/view/15482.htm?fromId=812
更多追问追答
追问
对!我就是因为1到31的转换老是不正确。能把它们搞正确么??
广州奥泰斯工业自动化控制设备有限公司_
2023-03-29 广告
2023-03-29 广告
日本OPTEX FA光电传感器产品已在中国大陆销售了近30年,产品的高性价比已被广大客户所认可。为更好的服务广大客户,日本株式会社(OPTEX FA)于2013年成立广州奥泰斯工业自动化控制设备有限公司,作为OPTEX FA中国区总部。日本...
点击进入详情页
本回答由广州奥泰斯工业自动化控制设备有限公司_提供
展开全部
你这个方法不太好牙,可以用循环和位运算解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
typedef union uschar
{
unsigned char all;
struct
{
unsigned a:1;
unsigned b:1;
unsigned c:1;
unsigned d:1;
unsigned e:1;
unsigned f:1;
unsigned g:1;
unsigned h:1;
}s;
}uschar;
int main()
{
uschar x;
std::cin>>x.all;
std::cout<<x.s.a;
std::cout<<x.s.b;
std::cout<<x.s.c;
std::cout<<x.s.d;
std::cout<<x.s.e;
std::cout<<x.s.f;
std::cout<<x.s.g;
std::cout<<x.s.h;
return 0;
}
c++还提供了bitset类 具体百度
typedef union uschar
{
unsigned char all;
struct
{
unsigned a:1;
unsigned b:1;
unsigned c:1;
unsigned d:1;
unsigned e:1;
unsigned f:1;
unsigned g:1;
unsigned h:1;
}s;
}uschar;
int main()
{
uschar x;
std::cin>>x.all;
std::cout<<x.s.a;
std::cout<<x.s.b;
std::cout<<x.s.c;
std::cout<<x.s.d;
std::cout<<x.s.e;
std::cout<<x.s.f;
std::cout<<x.s.g;
std::cout<<x.s.h;
return 0;
}
c++还提供了bitset类 具体百度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询