zoukankan      html  css  js  c++  java
  • Windows中的BOOL与delphi中Boolean

    Windows中的BOOL:4字节,是LongBool

    TRUE = -1:即DWORD(-1),同时任何非零值都为TRUE; 

    FALSE = 0:即DWORD(0) 

    4字节的意思就是在强制转换时,这句BOOL(INT64($1122334400000000))为False,因为强制转换时从低位数据取值的(Big Endian的CPU规则当然就是相反)

    delphi中Boolean

    这个非常值得注意的类型,Delph默认的Boolean是用ByteBool,所以在强制转换类型时下面都是False

    Boolean(0) :False
    Boolean(256) :False
    Boolean(512) :False
    Boolean(768) :False
    Boolean(1024) :False
    ....
    ........

    ................等等,也就是只要最d低位1字节为0,则为False,反之如果不为0则为True,

    C语言中可以使用如下判断整型

    int i=256;

    if (i) {};

    但是delphi中要判断一个整型数是否为0,通常情况下需要用<>,=之类的符号

    所以上面的写法正确应该是

    Boolean(0<>0) :False
    Boolean(256<>0) :True
    Boolean(512<>0) :True  

    ....
    ........

    ...............

    C++中的bool

    TRUE : <>0 

    FALSE : 0

  • 相关阅读:
    052-90
    052-89
    052-88
    052-87
    052-86
    html5的manifest
    js中数字转金钱格式
    CSS复合样式
    资料
    异步
  • 原文地址:https://www.cnblogs.com/caibirdy1985/p/4232981.html
Copyright © 2011-2022 走看看