• 数据和C


    整数就是没有小数部分的数,在C中小数点永远不会出现在整数中。例如2,-24,2456都是整数,整数以二进制存储,例如7的二进制表示为111,在8位的字节中存储它的前5位为0,将后3位置1.


    浮点数即加了小数点的数. 2.75,3.16E7,7.00,2e-8都是浮点数,


    区别:

    浮点数可以表示比整数范围大得多的数。

    对于一些算术运算,浮点数会损失更多的精度

    浮点数的计算会慢于整数,不过,已经开发出专门处理浮点运算的微处理器

    /*以十进制8进制16时制输出100*/
    
    #include <stdio.h>
    
    int main(void)
    {
    	int x =100;
    	printf("dec =%d octal =%o hex =%x 
    ",x,x,x);
    	printf("dec =%d octal =%#o hex =%#x 
    ",x,x,x);
    }
    
    
    #include <stdio.h>
    #include <inttypes.h>
    int main(void)
    {
    	int16_t me16;
    	me16 =4593;
    
    	printf("First assume int16_t is short : me16=%hd size=%zd
    ",me16,sizeof(int16_t));
    	
    }
    
    #include <stdio.h>
    
    int main(void)
    {
    	int i = 2147483647;
    	unsigned int j = 4294967295;
    
    	printf("%d,%d,%d
    ",i,i+1,i+2);
    	printf("%u,%u,%u
    ",j,j+1,j+2);
    
    	return 0;
    }
    

    结果:

    2147483647,-2147483648,-2147483647

    4294967295,0,1

    Note:

    这个例子是基于int值是4字节的情况,注意无符号数的取值范围0-4294967295,所以无符号的减法操作时没有负数

    Char 类型

    #include <stdio.h>
    int main(void)
    {
    	char grade ='A';
    	char grade1 =65;
    	char testChar ='ABCD';
    	printf("%c,%c,%c a
    ",grade,grade1,testChar);
    	return 0;
    }
    结果:
    A A D
    

    Char 类型用于存储字母和标点符号之类的字符。但是在技术实现上char类型却是整数类型,这是因为char类型实际存储的是数字而不是字符。为了处理字符,计算机使用一种数字编码,用特定的整数表示特定的字符。所以可以用char grade1 =65;给字符赋值。

    在int类型为32位及char 类型为8位的ASCII系统中 char grade =’B’意味着’B’作为数值66存储在一个8位单元中。利用字符常量这个特性,可以定义字符常量’ABCD’,将这4个独立的8位ASCCI码存储一个32位单元中。然而,如果把这个字符常量赋给一个char变量,那么只有最后8位会起作用,因此变量值为D.


  • 相关阅读:
    怎么把共享文件夹显示在我的电脑
    window时间同步机制的简单介绍
    向指定服务器的指定端口发送UDP包
    窜口通信-读取时间码
    窜口通信-发送时间码
    回环网卡通信
    简单的TCP接受在转发到客户端的套接口
    国内能用的NTP服务器及和标准源的偏差值
    简单的UDP接受程序
    TCP包服务器接受程序
  • 原文地址:https://www.cnblogs.com/riasky/p/3464878.html
Copyright © 2020-2023  润新知