【C语言基础】:八进制数和十六进制数、ASCII编码与运算符 |
您所在的位置:网站首页 › ascii十进制怎么算 › 【C语言基础】:八进制数和十六进制数、ASCII编码与运算符 |
要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 —— 《枫》 这篇文章将继续为对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 |