与数字的不同二进制表示一样(例如,采用大/小端),这是跨平台的:
// NOTE: FIXED-SIZE unsigned integral type
some_unsigned_type variable = some_number;
// set n-th bit, starting from 1,
// right-to-left (least significant-to most significant)
variable |= ( 1 << ( n - 1 ) );
// clear the same bit:
variable &= ~( 1 << ( n - 1 ) );
换句话说,编译器是否总是处理固定大小无符号数的不同二进制表示,或者它是特定于平台的?
如果variable
是有符号整数类型(例如int
),它的值是
- 零
- 积极的
- 消极的?
标准对此有何评论?
PS 而且,是的,我对这两种语言都很感兴趣-C
而且C++
,请不要告诉我它们是不同的语言,因为我知道这一点:)
如果需要,我可以粘贴真实示例,但帖子会变得太长