• 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

  • 相关阅读:
    Java语言基础(3)
    Java语言基础(2)
    Java语言基础(1)
    标准C语言(13)
    标准C语言(12)
    标准C语言(11)
    标准C语言(10)
    IDEA 学习笔记之 Console显示日志大小
    Java 学习笔记之 线程sleep方法
    Java 学习笔记之 线程isAlive方法
  • 原文地址:https://www.cnblogs.com/caibirdy1985/p/4232981.html
Copyright © 2020-2023  润新知