数字

作者: 醉看红尘这场梦 | 来源:发表于2018-09-26 12:16 被阅读18次
  1. 整数是没有小数点的数,一个完整的数,适合解读计数这类问题
  2. 为了解读数字尺寸的不同需求,整数变量可以有不同的大小,整数变量都会占用定位数的内存,用于保存数学,能够保存的数学就越大8位,16位,32位,64位
//无符号32位整数
UInt32 x;

//有符号16位整数
SInt16 y;

//8位
char a;

//通常是16位
short b;

//通常是32位
int c;

//32位或者64位
long d;

//64位
long long e;
  • 以上整数类型所占的位数是平台相关的,平台是指某种操作系统和某种特定计算机或移动设备的组合

用于显示整数的格式说明符

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int x = 255;
        printf("x is %d. \n",x);
    }
    return 0;
}
  • 这里的%d会将整数按十进制输出,此外,还可以将整数按八进制数和十六进制数输出
  • 示例更改
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int x = 255;
        printf("x is %d. \n",x);
        printf("In octal,x is %o. \n", x);
        printf("In hexadcimal,x is %x. \n", x);
    }
    return 0;
}
  • 针对位数很多的整数,是否有特定的格式说明符?对这类大整数,可以在%和换字符之间加入l或ll。修改代码,将Int改为long
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        long x = 255;
        printf("x is %ld. \n",x);
        printf("In octal,x is %lo. \n", x);
        printf("In hexadcimal,x is %lx. \n", x);
    }
    return 0;
}
  • 如果输出的是无符号的十进制,就应该使用%u
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        unsigned x = 255;
        printf("x is %u. \n",x);
        printf("In octal,x is %o. \n", x);
        printf("In hexadcimal,x is %x. \n", x);
    }
    return 0;
}

整数运算符

  • 数学中的加减乘除
  • 示例
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        printf("3+3*5*5*2 = %d\n", 3+3*5*5*2);
    }
    return 0;
}

整数除法

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        printf("3 * 3 + 5 * 2 = %d\n", 3 * 3 + 5 * 2);
        printf("11 / 3 = %d\n",11 / 3);
    }
    return 0;
}
  1. 计算结果是应该是11 / 3 = 3.66666,不过这里输出的是3,因为一个整数除以另一个整数,得到的还是整数,系统将会计算相0的方向取整数
  2. 以上除法可以表达为“11除以3,得3,余2”
  3. printf("11 / 3 = %d remainder of %d \n",11 / 3 ,11 % 3);
  4. 要是得到小数这样的结果,就要转换运算符,将Int类转化为Float类型
  5. 所谓转换运算符,其实就是需要转换的目标类型,但是要放在小括号,并写在需要转换的变量的左侧
  6. printf("11 / 3.0 = %f\n", 11 / (float)3);
  7. 这样修改后会执行浮点数除法,而不是整数除法,所以结果是3.666667

NSInteger和NSUInterger

  • NSInteger以及NSUInterger类型在苹果库中被广泛使用
  • 如果使用printf()来输出这两种类型的变量,请先将它们转换为对应的long类型。
  • 代码示例
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int x = 5;
        NSUInteger y = 6;
        printf("Herer they are: %ld,%lu",(long)x,(unsigned long)y);
    }
    return 0;
}

赋值运算符

  • 示例:如将 X 的值增加1,可以使用+运算符,然后计算结果赋值给x
  • int x = 5; X = x + 1; //执行后,x的值是6
  • 这类运算的使用频率非常高,可是使用自增运算符将x所保存的增加为1;
  • int x = 5; x++; //执行后, x的值是6
  • 此外,还可以使用自减运算符将变量的值减去1;
  • int x = 5; x--; //执行后, x的值是4
  • int x = 5;X = x + 5; //执行后,x的值是10
  • int x = 5;,x += 5;//执行后,x 的值是10
  • 如果计算是某个int数的绝对值,就不能使用运算符,而必须结束ads()函数
  • 如果计算绝对值的整数是long类型,就要用labs()函数
  • printf("The adsolute value of -5 is %d\n",abs(-5));

浮点数

  • 与整数一样,浮点数也有不同的尺寸类型,但不同的是,浮点数都是有符号的;
//32位
float g;

//64位
double h;

//128位
long double i;

用于显示浮点数的格式说明符

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        double y = 123456.7789;
        printf("y is %f\n",y);
        printf("y is %e\n",y);
    }
    return 0;
}
  • 代码中的%f会显示小数点后6位,通常不用显示这么多位,可以将小数点后的输出长度显示为2位
  • printf("y is %.2f\n",y); printf("y is %.2e\n",y);

数学代码库

  1. 如果要处理的更复杂的数学运算,就要用数学代码库,其中包含,三角函数取近视值求幂函数求平方立方根数
  2. 要使用这些函数,必须在文件顶部包含数学库的头文件
  3. include <math.h>

相关文章

  • 关于数字经济的点滴思考:

    关于数字经济的点滴思考: 数字资产,数字经济生产要素,数字资产生产关系 数字资产:1.资产数字化; 2.数字资产化...

  • 拉丁语学习3  翻译

    字母和数字 Ⅰ和Ⅱ都是数字.Ⅲ也是数字。Ⅰ和Ⅱ都是罗马数字.I和Ⅱ都是小数字.mille是大数字 A.B都是字母。...

  • 【画画教程】从1-9画海洋生物

    数字1画鲳鱼 数字2画海螺 数字3画水母 数字4画小丑鱼 数字5画鲨鱼 数字6画海龟 数字7画魟(hóng)鱼 数...

  • 追踪👀媒介研究前沿选题

    选题搜集? 地理媒介与空间自我 数字基础设施与数字废墟 数字垃圾 智能关怀、数字家居与亲密关系 数字的过去与非数字...

  • 学习小组DAY5 -wstbrook0013

    (1)输入变量<-c(n个数字)=给变量赋予有n个数字组成的向量输入变量<-数字:数字=赋予变量从数字到数字之间所...

  • 请关注数字吧 数字是宇宙的密码

    数字无大无小 数字无多无少 数字无常无短 数字无爱无我 数字却是引领众生到达很多地方的法宝 离开数字你是谁 你将寸...

  • 扣子狂魔 亮钻助手

    【数字】1【数字】

  • 微信名字特殊符号都可在这里复制

    数字:º ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁿ ′ 下排数字:₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇...

  • 数字化营销策略

    数字为营销服务,而不是营销为数字服务。获得数字不是数字化的关键,根据数字制定营销策略,才是数字化的核心。 阿里、拼...

  • HTTPS

    前置知识 数字摘要与数字摘要算法 数字签名原理 发送端(服务端) 原始数据经过数字摘要算法生成数字摘要 私钥对数字...

网友评论

      本文标题:数字

      本文链接:https://www.haomeiwen.com/subject/nbudoftx.html