zoukankan      html  css  js  c++  java
  • OC 浮点数转化整数

    1.简单粗暴,直接转化

    float f = 1.5;
    int a;
    a = (int)f;
    NSLog("a = %d",a);

    输出结果是1。(int)是强制类型转化,丢弃浮点数的小数部分。

    2.高斯函数,向下取整

    float f = 1.6;
    int a;
    a = floor(f);
    NSLog("a = %d",a);

    输出结果是1。floor()方法是向下取整,类似于数学中的高斯函数 [].取得不大于浮点数的最大整数,对于正数来说是舍弃浮点数部分,对于复数来说,舍弃浮点数部分后再减1.

    3.ceil函数,向上取整。

    float f = 1.5;
    int a;
    a = ceil(f);
    NSLog("a = %d",a);

    输出结果是2。ceil()方法是向上取整,取得不小于浮点数的最小整数,对于正数来说是舍弃浮点数部分并加1,对于复数来说就是舍弃浮点数部分.

    4.通过强制类型转换四舍五入。

    float f = 1.5;
    int a;
    a = (int)(f+0.5);
    NSLog("a = %d",a);

    其中原理非常简单,所以就不做详细说明了。

    --------------------------------------

    Objective-C基本数据类型取值范围、字节

    类型限定修饰词

    一些类型限定修饰词

    short短型,修饰int、double;
    long长型,修饰int、double;
    signed有符号型,修饰int、char;
    unsigned 无符号型,修饰int、char;
    1.这些限定词经常用来限定int型,在限定int类型时int可以省略;
    2.short和long会改变int型的长度,在不同编译器长度不相同,但是一般short长度不大于int,int长度不大于long;
    3.signed和unsigned不会改变类型长度,仅表示最高位是否为符号位,其中unsigned表示大于等于0的正数;

    取值范围

    为了以后开发中能够方便查找,并正确的使用数据类型,下面是部分数据类型的取值范围:

    int:        -2147483648~2147483647
    unsigned int:    0~4294967295
    short:        -32768~32767
    unsigned short:     0~65535
    long:         -2147483648~2147483647
    unsigned long:      0~4294967295
    存储空间

    下面列出的是常用数据类型占用的存储空间

    数据类型 16位编译器 32位编译器 64位编译器
    char          1byte   1byte   1byte
    int             2byte   4byte   4byte
    float          4byte   4byte   4byte
    double       8byte   8byte   8byte
    short int     2byte   2byte   2byte
    unsigned int    2byte   4byte   4byte
    long         4byte   4byte   8byte
    unsigned long   4byte   4byte   8byte
    long long      8byte   8byte   8byte

    ————————————————

    参考链接 https://blog.csdn.net/MinggeQingchun/article/details/52230467

  • 相关阅读:
    OCM_第十四天课程:Section6 —》数据库性能调优_各类索引 /调优工具使用/SQL 优化建议
    OCM_第十三天课程:Section6 —》数据库性能调优 _结果缓存 /多列数据信息采集统计/采集数据信息保持游标有效
    OCM_第十二天课程:Section6 —》数据库性能调优_ 资源管理器/执行计划
    使用NuGet时的一个乌龙
    .net调用存储过程碰到的一个问题
    数据库的备份与还原
    创建link server链接服务器碰到的问题及解决办法
    如何管理好项目的DLL
    项目中Enum枚举的使用
    .NET开发知识体系
  • 原文地址:https://www.cnblogs.com/isItOk/p/5594060.html
Copyright © 2011-2022 走看看