【C语言基础】:八进制数和十六进制数、ASCII编码与运算符

您所在的位置:网站首页 ascii十进制怎么算 【C语言基础】:八进制数和十六进制数、ASCII编码与运算符

【C语言基础】:八进制数和十六进制数、ASCII编码与运算符

2024-06-15 06:40| 来源: 网络整理| 查看: 265

要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。

                                                                                                                    —— 《枫》

这篇文章将继续为对C语言感兴趣的大佬们各位带来关于八进制数和十六进制数、ASCII编码与操作符的介绍。

目录

八进制数和十六进制数

介绍

注意:

ASCII编码

介绍

码表

 注意:

 运算符

分类

算术运算符

加减运算符( + 和 - )

乘法运算符(*)

除法运算符( / )

求余(模)运算符( % )

八进制数和十六进制数 介绍

把进制数是用数字0~7书写的。八进制数的每一位表示一个8的幂(就像十进制数的每一位表示10的幂一样)。因此,八进制数 237 表示成十进制数计算如下图左侧:(2*8^2+3*8^1+7*8^0=128+24+7=159)

十六进制数是用数字0~9加上字母A~F书写的,其中字母A~F表示10~15的数。十六进制数的每一位表示一个16的幂,十六进制数 1AF 的十进制数值计算如上图右侧:(1*16^2+10*16^1+15*16^0=256+160+15=431)

注意: 十进制数一定不能以零开头:

               15    255   32767

八进制数必须以零开头:

               017   0377   07777

十六进制数中字母既可以是大写,也可是小写:

              0xff   0xfF   0Xff   0XFF

ASCII编码

上一篇说这次为大家介绍ASCII编码表,我来咯。

介绍

我们知道在计算机中所有的数据都是以二进制的形式存储的,那这些字符在内存中分别以什么样法人二进制存储的呢?

如果我们自己给这些字符中的每个字符编一个二进制序列,这个叫做编码,为了方便大家通信,不造成混乱,后来美国国家标准学会(ANSI)出台了一个标准ASCII编码,C语言中的字符就遵循了ASCII编码的方式。

码表

参考:https://zh.cppreference.com/w/c/language/ascii

 注意:

我们不需要记住所有的ASCII码表中的数字,使用时查看就可以,不过我们最好能掌握几组特殊的数据:

字符A~Z的ASCII码值从65~90字符a~z的ASCII码值从97~122对应的大小写字符(a和A)的ASCII码值的差值是32数字字符0~9的ASCII码值从48~57换行 \n 的ASCII值是:10在这些字符中ASCII码值从0~31这32个字符是不可打印字符,无法打印在屏幕上观察  运算符 分类

运算符是构建表达的基本工具,C语言拥有异常丰富的运算符。

算术运算符赋值运算符自增自减运算符

本次只对算术运算符进行基本介绍,其余介绍请待下篇。 

算术运算符

这类运算符可以执行加法、减法、乘法和除法。

加减运算符( + 和 - )

加法类运算符和乘法类运算符都属于二元运算符,因为他们需要两个操作数。一元运算符只需要一个操作数:

a = +1; // + 是一元运算符号 b = -1; // - 是一元运算符号

一元运算符主要用于强调某数值常量的正负。

#include int main() { int x = 44 + 22; int y = 66 - 34; printf("%d\n",x); //打印出66 printf("%d\n",y); //打印出32 return 0; }

上图为二元运算符( + 和 - )的应用。

乘法运算符(*)

运算符 * 用来完成乘法。

#include int main() { int num = 5; printf("%d\n",num*num); // 输出25 return 0; } 除法运算符( / )

运算 / 用来完成除法

除号的两端如果是整数,执行的是整数除法,得到的结果也是整数。

#include int main() { float x = 6 / 4; int y = 6 / 4; printf("%f\n",x); //输出1.000000 printf("%d\n",y); //输出1 return 0; }

上面示例中,尽管变量 x 的类型是 float ,但是 6 / 4 得到的结果是 1.000000 (默认保留六位小数),而不是 1.5 。原因就在于C语言里面的整数除法是整除,只会返回整数部分,丢弃小数部分。

如果希望得到浮点数结果,两个运算数就必须至少有一个浮点数,这时C语言就会进行浮点数除法。

#include int main() { float x = 6.0 / 4; //或者写成 6 / 4.0 printf("%f\n",x); //输出 1.500000 return 0; }

上面示例中, 6.0 / 4 表示进行浮点数除法,得到的结果就是 1.5。

再看一个例子:

#include int main() { int score = 5; score = (score / 20) * 100; //输出0 return 0; }

上面的代码,你可能会觉得经过运算,score 会等于 25 ,但实际上 score = 0。这是因为

score / 20 是整除,会得到一个整数值 0 ,所以乘以 100 后得到的也是 0 。

为了得到预想的结果,可以将除数 20 改为 20.0,让整数除法变成浮点数除法。

#include int main() { int score = 5; score = (score / 20.0) * 100; //输出25 return 0; } 求余(模)运算符( % )

运算符 % 表示求余运算,即返回两个整数相除的余值。这个运算符只能用于整除,不能用于浮点数。

#include int main() { int x = 6 % 4; printf("%d\n",x); //输出2 return 0; }

负数求余的规则是,结果的正负号由第一个运算数正负号决定。

#include int main() { printf("%d", 11 % -5); //输出 1 printf("%d",-11 % -5); //输出 -1 printf("%d",-11 % 5); //输出 -1 }

上面的示例中,第一个运算数的正负号( 11 或 -11 )决定了结果的正负。

好啦,今天的分享到这儿就结束了,感谢大佬能看到这里,感谢支持,感恩!!!

当你在荒废时间,有多少人在拼命。别在最该奋斗的日子,选择了安逸。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3