当前位置: 首页 > news >正文

没有做网站能备案吗优化模型数学建模

没有做网站能备案吗,优化模型数学建模,什么是网站什么是网址,网站维护大概要多久以下为小编在重温C语言时,容易犯错的一些点,希望列出来对大家有一定帮助! 一、整型变量数的范围 类型说明符长度(字节)数的范围int4/2(有些为4字节,有些为2字节)-32768~32767short2…

        以下为小编在重温C语言时,容易犯错的一些点,希望列出来对大家有一定帮助!

一、整型变量数的范围

类型说明符长度(字节)数的范围
int4/2(有些为4字节,有些为2字节)-32768~32767
short2-2^{15}~2^{15}-1
long4-2^{31}~2^{31}-1
unsigned 4/20~65535
unsigned short20~65535
unsigned long40~2^{32}-1

注意:

1、unsigned即为无符号数,int数的范围给的是2字节情况下的

2、printf中,均用%d表示

3、浅浅的为初学者推导一下为什么数的范围是这样的:

        首先,在计算机中,数是以补码的形式存储,原因在于,使用补码,可以将符号位和数值域进行统一的处理;同时,加法和减法当中用补码也可以进行统一的处理(CPU当中只有加法器),此外,尤其是补码与原码的运算过程是可以进行相互转换的。

        其次,原码是以首位为符号位,0代表正数,1代表负数,正数的补码与原码相同,而负数需要先将数值位取反,再进行+1操作,才能得到补码。

        众所周知,2字节即为16位,去掉符号位,还剩15位。我们很容易想到7fff为最大的整数,即32767,大家肯定很好理解,8001代表的是-32767,但其实最小的整数补码形式为8000,即-32768,它不能用取反加一的结论得出,我们要用补码的定义式得出:即[X]补=X(X>=0);[X]补=X+2^{n}(X<0,n为补码的位数)。

 4、可能会存在溢出的情况,请注意数的范围

比如说以下这段代码就会溢出,请大家想想计算机最后算出的结果为多少?

#include<stdio.h>int main() {short i = 90787;short j =-345635;printf("i=%d,j=%d", i,j);return 0;
}

        首先对于i,它是一个short类型的,只有16位,也就是说,超过32767就会溢出。我们可以先将90787转换为2进制,然后保留后面的16位,就能得到。这里要注意,是16位全部,而不只是数据位15位。也就是说如果short i=65535;(二进制补码为01,1111,1111,1111,1111)我们要舍弃掉高位,保留低位,然后再将补码转换为原码,输出数值-1。大家可以下去验算一下,90787最后输出的结果为25251。同理,对于j,我们先化为二进制补码,再舍弃最高位,保留低16位,转为原码,得到最终结果。

5、强制转换

        会算溢出了,这几个整型变量间的强制转换也自然而然的会算,无非就是舍弃高位,将剩余的补码改为原码。

二、几个容易出错和遗忘的表达式

1、自增,自减表达式

i++、i--:使用i之后,再让i的值增加1或减少1

++i、--i:使用i之前,让i的值先增加1或减少1

举一个小小的例子:

#include<stdio.h>int main() {short i = 2;short j = 3; printf("i=%d,j=%d", i++,--j);return 0;
}

运算结果:i=2,j=2

记忆小技巧:符号在后边的表示最后再做这个符号运算

2、逗号表达式

形式:表达式1,表达式2

求法:先求表达式1,再求表达式2,最后结果为表达式2的值

#include<stdio.h>int main() {int a;a=((a=3*5,a=a+5),a*4);printf("a=%d",a);return 0;
}

分析:先计算a=3*5,即a=15。然后算出a=a+5,即20。最终a的结果为a*4,即80

注意:

1、逗号表达式可以扩展为表达式1、表达式2……、表达式n

2、逗号表达式的优先级最低

3、强制转换运算符

表达式:(类型名)(表达式)

例如:(double)a、(int)(x+y)、(float)(5%3)

三、浮点数表示

        这个对于没有学过计算机组成与设计的同学来说,可能有一点难理解,小编尽可能给大家讲明白。首先,我们先讲一点简单的,对于浮点型常量,我们有两种表达形式:一种是我们通俗易懂的小数,另一种是指数形式。

        但是要特别注意,对于科学计数法,字母e(或者E)之前必须有数字,且E后面的指数必须为整数,例如:1e3、1.8e-3、123e-6这些都是正确的表达式。

        不过我们更喜欢将它“规范化”,这样也看得舒服点。例如123.456,可规范化描述为1.23456e2。

        紧接着,我们俩谈一下浮点型数据是如何存储的。浮点型数据一般在内存中占4个字节,即32位,这32位从前到后分为符号部分、指数部分以及尾数部分。其中符号占据1位,指数占据8位,尾数部分占据23位。其中最为复杂的是指数8位用原码表示,并且需要减去一个偏移量127(学过移码的肯定很熟悉),也就是说指数为0111,1111仅仅代表指数为0。同时,尾数为了节省空间,是做了规范化的,它把小数点前的那个1给省略掉了,需要大家自己去“补上”。

        行嘞,估计大家乍一看,发现自己根本看不懂。我们做一个转换的例子,大家可能看了之后就明白了。

请将 11010101,01000101,00000000,00000000转换为小数

首先,符号位1,代表这是一个负数 

其次,指数部分为10000011,它代表的十进制数为1+2+128=131,再减去127偏移量,即4

再者,对于尾数部分,需要自己补上一个1,即1.1000101000000000……,再考虑一下指数为4,即小数点往右边移4位11000.10100000……,算出来的十进制数为24.625

        特别注意:float在c语言中,有效位为7位,这是指整数部分与小数部分一共7位,因为单精度用23位存储,加上1位隐藏位,满足10^{7}<2^{23+1}<10^{8},同理,双精度位数为52位,有效位是16位。这也是为什么输入3.6,输出3.600000的原因。

#include<stdio.h>int main() {float a=3.6;printf("a=%f",a);return 0;
}

 好的,本期的博客就到此结束啦,祝愿大家在考研的路上越走越顺!

                

http://www.hkea.cn/news/96726/

相关文章:

  • 十大中国网站制作免费广告
  • wordpress 文章主题关键词推广seo
  • 佛山网站建设佛山网络推广代运营公司靠谱吗
  • 贵阳疫情最新消息站内seo优化
  • wordpress相关问题深圳百度关键字优化
  • 做国珍新时代 网站陕西seo顾问服务
  • 建立网站怎么做关键字搜索引擎营销的作用
  • 广州手机网站建设宁波seo优化费用
  • 怎么设置网站服务器宁德市教育局官网
  • 查看网站源代码建站可以牛排seo系统
  • 政府网站建设的基本原则百度网盘电脑版
  • 张家港网站建设福州百度快速优化
  • 兼职做网站编辑百度搜索推广开户
  • 谁告诉你j2ee是做网站的宁波网站推广找哪家公司
  • 谷歌外贸建站多少钱搭建网站教程
  • 赚钱靠普的网站关键字搜索软件
  • 建设银行深分行圳招聘网站做游戏推广一个月能拿多少钱
  • 北京网站建设及推广招聘关键词排名代做
  • 对网站建设的意见建议网络营销推广的方法有哪些
  • 爬虫网站怎么做怎样才能在百度上面做广告宣传
  • 网站页码南昌做seo的公司有哪些
  • 网络设计方案包括哪些深圳百度推广seo公司
  • 亚马逊跨境电商开店站长工具seo综合查询5g
  • 网站怎么做百度快照logo百度快照优化推广
  • 山西网站建设排名seo技术培训山东
  • 日韩系成人影片成首选网站如何优化推广
  • 网站到期续费通知搜索风云排行榜
  • 网站公司说我们做的网站服务器不够用哪个杭州seo好
  • 类似淘宝网站建设费用杭州哪家seo公司好
  • 装修网站怎样做seo专员很难吗