Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4737912
  • 博文数量: 206
  • 博客积分: 5240
  • 博客等级: 大校
  • 技术积分: 3224
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 21:40
文章分类

全部博文(206)

文章存档

2013年(13)

2012年(8)

2011年(33)

2010年(152)

我的朋友

分类: C/C++

2011-04-11 23:01:43

#include<stdio.h>
main()
{
    int i = 0x20;
    char c = 0;
    //打印 Ascii 表    

    while(i<0x80)
    {
        if(i!=0x20 && i%16==0)
        {
            printf("\n");
        }
        if(!(i%16))
        {
            printf("%X0H:",i/16);
        }
        printf("%c",i++);
    }
    
    //转换大小写

    printf("\n please input a char : ");
    scanf("%c",&c);
    printf("c is %c\n",c);
    if(c>='A'&&c<='Z')
    {
        c+=0x20;//c=c+0x20

    }
    else if(c>='a'&&c<='z')
    {
        c-=0x20;
    }
    printf("new c is %c :",c);
}


利用位运算转换大小写

A 0x41: 0100-0001
a 0x61: 0110-0001

转换第六位

#include<stdio.h>
main()
{
    int i = 0x20;
    char c = 0;
    //打印 Ascii 表    

    while(i<0x80)
    {
        if(i!=0x20 && i%16==0)
        {
            printf("\n");
        }
        if(!(i%16))
        {
            printf("%X0H:",i/16);
        }
        printf("%c",i++);
    }
    
    //转换大小写

    printf("\n please input a char : ");
    scanf("%c",&c);
    printf("c is %c\n",c);
    //利用位运算符

    if(c>='A'&&c<='Z')
    {
        c=c|0x20 ;//第6位变成1

    }
    else if(c>='a'&&c<='z')
    {
        c=c&0xdf;//第6位变成0    

    }
    printf("new c is %c :",c);
}


阅读(3073) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~