请用简单易懂的方法说明 ASCII码如何运算?我附的图第四题答案我看不懂

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请用简单易懂的方法说明 ASCII码如何运算?我附的图第四题答案我看不懂相关的知识,希望对你有一定的参考价值。

每一个字母都有特定的ASCII码与之对应。比如说:

字母A,ASCII码的值是65,转换成二进制就是01000001。我们可以验证一下,前面那个1的权重是2^6,后面那个1的权重是2^0,所以01000001转换成十进制就是1*2^6+1*2^0=65,是正确的。

字母B,ASCII码的值是66,转换成二进制就是01000010。

以此类推,字母E,ASCII的值是69,转换成二进制就是01000101。

那么答案里面为什么是01000001加上四个00000001呢,这是因为00000001换成十进制就是1,相当于加了四个1,而字母A到字母E正好差了4,所以答案那样写也是正确的。

至于如何运算ASCII,方法只有记住对应的十进制,然后转成二进制。不是所有的十进制都要记住,比如说字母A是65,那么就可以推出其他的大写字母,而字母a则是97,这样又能推出小写字母。所以,记住一些关键字符的ASCII码就好了。

拓展资料:

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

请注意,ASCII是American Standard Code for Information Interchange缩写,而不是ASCⅡ(罗马数字2),有很多人在这个地方产生误解。

参考资料:百度百科—ASCII码

参考技术A 挺好理解的啊。

首先,由于电脑里,所有的数据在存储和运算时都要使用二进制数表示,所以像A、B、C等等这些也是一样的,这样带来的问题就是,你需要制定一个 数字-字符 对照表,这就叫编码,比如,将65(十进制)对应为字母 A。而为了与别人通讯时,你发送个65,别人也会翻译成 A 而不是别的,所以有了统一的对照表,这就是 ASCII 标准码表。

其次,编码当然要有一定的顺序,这样方便使用和记忆,字母是按照 A-Z 的顺序排序的,65 代表 A,那么相邻的下一个 B 就是 66,依次类推,那么 E 与 A 间隔 4 个 就是 65+4 = 69.

69 是十进制,转换成二进制数 就是 01000101。

如果以二进制来进行计算的话,A 的 二进制表示为 01000001,间隔 4 个,将 4 转换成2进制是 00000100 ,那么

65 + 4 = 69 (十进制计算)
01000001 + 100 = 01000101 (二进制计算)追问

追答

如果以二进制来进行计算的话,A 的 二进制表示为 01000001,间隔 4 个,将 4 转换成2进制是 00000100 ,那么

65 + 4 = 69 (十进制计算)
01000001 + 00000100 = 01000101 (二进制计算)

如果不知道二进制怎么加的,其实也简单,十进制是逢十进1,二进制就是逢2进1。

如果不知道 十进制 是怎么 转换成 2进制 的,话说……这就不是答题,而是教学了。

本回答被提问者和网友采纳
参考技术B ascii码不是算出来的,是设计 ascii 码时规定好的。
比如字符 A 的 acsii 码就是规定为 65,字符 B 的 ascii 码就是规定为 66。

这个题中需要掌握的其实是二制运算:
用 A 的 ascii 码加上 4 ,也就是二进制的:01000001 + 100 = 01000101
所以正确答案是 C追问

为什么加100?

追答

4 转换为二进制就是 100

你的问题还是不会二进制

参考技术C 69十进制转二进制是1000101

腾讯面试算法题

题目描述:
如何将一长串字符串里的小写字母转换成大写的。
注:要求不通过比较

思路:比较运算被限制住,那我们就试着通过逻辑运算来实现。

我们知道,a~z的ascii码:97~122 也就是:1100001~1111010
A~Z的ascii码:65~90 也就是:100 0001~1011010

可见大小写字母的二进制表示差异所在是第6个位,那么我们只要右移5位,使它编程第1位,再通过与运算判断第1位是0还是1,

这样也就知道是否是大小写了。

代码如下:

#include<iostream>
using namespace std;
int main()
{
    char p[]="abABcdefCDEFGghigklomnopkxyz";
    int len=strlen(p);
   
    for(int i=0;i<len;i++)
    {         
            if(p[i]>>5&1) {    //右移5个位,此时若是小写字母,则最右边一位为1,执行if内部语句
            cout<<"Small Letter"<<endl;
            p[i]=p[i]-32;
            }
    }
    cout<<p<<endl;
    getchar();
    return 0;
}

 

以上是关于请用简单易懂的方法说明 ASCII码如何运算?我附的图第四题答案我看不懂的主要内容,如果未能解决你的问题,请参考以下文章

c语言字符与ASCII码的转换

Java比较两个数字的大小 两个参数由键盘输入

计算机中的ASCII 码怎么计算?具体的方法有吗?

如何写一份简单易懂的软件外包需求说明书

SQL-2008函数大全

sqlserver2008 函数1