bitwise.c

来自「sdcc是为51等小型嵌入式cpu设计的c语言编译器支持数种不同类型的cpu」· C语言 代码 · 共 39 行

C
39
字号
/** Test the bitwise operators.    type: char, short, long    attr: volatile,    storage: static, */#include <testfwk.h>static voidtestTwoOpBitwise(void){    {storage} {attr} {type} left, right;    left = ({type})0x3df7;    right = ({type})0xc1ec;    ASSERT(({type})(left & right) == ({type})0x1E4);    ASSERT(({type})(right & left) == ({type})0x1E4);    ASSERT(({type})(left & 0xc1ec) == ({type})0x1E4);    ASSERT(({type})(0x3df7 & right) == ({type})0x1E4);    ASSERT(({type})(left | right) == ({type})0xFDFF);    ASSERT(({type})(right | left) == ({type})0xFDFF);    ASSERT(({type})(left | 0xc1ec) == ({type})0xFDFF);    ASSERT(({type})(0x3df7 | right) == ({type})0xFDFF);    ASSERT(({type})(left ^ right) == ({type})0xFC1B);    ASSERT(({type})(right ^ left) == ({type})0xFC1B);    ASSERT(({type})(left ^ 0xc1ec) == ({type})0xFC1B);    ASSERT(({type})(0x3df7 ^ right) == ({type})0xFC1B);#if defined (__alpha__) || defined (__x86_64__)    /* long is 64 bits on 64 bit machines */    ASSERT(({type})(~left) == ({type})0xFFFFFFFFFFFFC208);#else    ASSERT(({type})(~left) == ({type})0xFFFFC208);#endif}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?