首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言进阶(七) - 数据的储存

char类型到底是有符号还是无符号C语言标准并没有规定,大多数编译器中默认是有符号char 1.4 浮点型 float double long double 1.5 指针类型 char* 字符指针...-1; printf("a=%d,b=%d,c=%d",a,b,c); return 0; } //a //-1的原码:10000000 00000000 00000000 00000001...浮点型数据在内存中的储存 浮点型的意思是数据在内存中的储存是浮动的,也就是不准确的,所以不叫做实数型数据。...字节序 - 大小端 4.1 大小端字节序出现的原因 数据储存的是以字节(byte)为单位的(或者说以char类型为单位),如果一个数据使用一个字节就可以储存就不存在大小端字节序的问题了。...4.2 大小端概念 大端储存:数据的低位保存到内存的高地址中,数据的高位保存到内存的低地址中。 小端储存:数据的低位保存到内存的低地址中,数据的高位保存到内存的高地址中。

2.1K30

抽丝剥茧C语言(高阶)数据的储存+练习

//字符数据类型 short //短整型 int //整形 long //长整型 long long //更长的整形 float //单精度浮点数 double //双精度浮点数 //C语言有没有字符串类型...但是在C语言中除了8 bit的char之外,还有16 bit的short型,32 bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节...//代码1 #include int main() { char a = -1; signed char b = -1; unsigned char c = -1; printf...("a=%d,b=%d,c=%d", a, b, c); return 0; } 代码的运行结果如下: -1的补码是 11111111111111111111111111111111 储存进入...储存进入b中,因为是signed char(有符号的char类型),和上面的char类型一样。 储存进入c中,因为是unsigned char(无符号的char类型),也就是说没有符号位。

54100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    c语言爱心代码详解_C语言程序源代码

    1、love图案的C语言爱心代码 C语言爱心代码如下: #include int main() { int i, j, k, n = 0, x = 0, y = 50; //爱心的头部没有规律...printf("e"); y--; } else break; } printf("\n"); } printf("\n\n\n\n\n\n\n\n\n\n\n\n"); return 0; } 已把大量C语言源码整理为一个压缩包关注微...信 公 众 号:“CC加加” 回复:“源码” 即可获取 效果展示: 2、心形图案的C语言爱心代码 代码如下: #include int main() { int i,...m++) printf("%c", c);//输出右半部分字符小爱心 printf("\n"); //每一行输出完毕换行 } for (i=1; i<=3; i++) { //下3行中间没有空格...} 效果展示: 3、复杂动态C语言爱心代码 代码如下: #include #include #include #include <tchar.h

    9.6K21

    C语言——数据在内存中的存储【整型数据在内存中的储存,大小端字节序储存,浮点型数据在内存中的储存

    C语言中的大小端存储之分主要是为了解决不同计算机系统之间的通信和数据交换问题。由于不同的计算机系统可能有不同的字节序,因此需要一种统一的方式来表示和传输数据。...C语言提供了大小端存储之分,使得在不同的计算机系统之间可以正确地解析和传输数据。 总的来说,大小端存储之分是为了解决不同计算机系统之间的字节序问题,以保证数据的正确解析和传输。...三,浮点型数据在内存中的储存 开门见山:浮点数在内存中的储存与整数是不一样的! 整数是以补码的方式储存,那浮点数呢?...我们可以发现,每个浮点数,都可以用S M E 三个数据来表示出来,因此我们在储存时,也只需储存好这三个数据就可以了 IEEE 754规定: •对于32位的浮点数,最⾼的1位存储符号位S,接着的8位存储指数...E,剩下的23位存储有效数字M •对于64位的浮点数,最⾼的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M 1)符号位S的储存 •正数储存0 •负数储存1 2)有效数M

    17310

    C语言代码优化方案

    很多高级语言,包括C++,并不对产生的浮点表达式重新排序,因为那是一个相当复杂的过程。需要注意的是,重排序的代码和原来的代码代码上一致并不等价于计算结果一致,因为浮点操作缺乏精确度。...+ temp->dog; 一些老的C语言编译器不做聚合优化,而符合ANSI规范的新的编译器可以自动完成这个优化,看例子: float a, b, c, d, f, g; 。。。...C++ 标准规定,如果一个const声明的对象的地址不被获取,允许编译器不对它分配储存空间。这样可以使代码更有效率,而且可以生成更好的代码。...9、采用递归 与LISP之类的语言不同,C语言一开始就病态地喜欢用重复代码循环,许多C程序员都是除非算法要求,坚决不用递归。事实上,C编译器们对优化递归调用一点都不反感,相反,它们还很喜欢干这件事。...C语言的编译器们总是先假定每一个函数的变量都是内部变量,这是由它的机制决定的,在这种情况下,它们的优化完成得最好。

    6.9K108
    领券