递归火山软件开发平台
标题:
【文档教程】位运算
[打印本页]
作者:
小蜗牛
时间:
7 天前
标题:
【文档教程】位运算
本帖最后由 小蜗牛 于 2025-5-5 05:25 编辑
1字节有
8
bit (
字节
<
byte
>)
无符号:
0~255
, 有符号:
-128~127
2字节有
16
bit (
短整数
<
short
>, 火山视窗
字符
<
wchar_t
>)
无符号:
0~65535
, 有符号:
-32768~32767
4字节有
32
bit (
整数
<
int
>,
单精度小数
<
float
>,
逻辑型
<
bool
>)
无符号:
0~4294967295
, 有符号:
-2,147,483,648~2,147,483,647
8字节有
64
bit (
长整数
<
long
>, 双精度
小数
<
double
>)
无符号:
0~
18,446,744,073,709,551,615
, 有符号:
-9,223,372,036,854,775,808~9,223,372,036,854,775,807
从左到右,由低到高
~ 位取反(100)
返回
x
:
11
0
11
00
1111111111111111111111111
// -101
参数1: 00
1
00
11
0000000000000000000000000
// 100
说明: 逻辑取反, 0改成1,1改成0
| 位或(2148, 32)
返回
x
:
00
1
00
11
0000
1
0000000000000000000
1
//
-2147481500
参数1: 00
1
00
11
0000
1
00000000000000000000
// 2148
参数2:
00
1
00
11
000000000000000000000000
1
// 32
说明: 两个参数中,只要有任何一个bit为1,那么就填充1,否则为0
& 位与(2148, -2147483548)
返回x
:
00
1
00
11
0000000000000000000000000
// 100
参数1: 00
1
00
11
0000
1
00000000000000000000
// 2148
参数2:
00
1
00
11
000000000000000000000000
1
// -2147483548
说明: 两个参数的同位bit,都必须为1,则填充1,否则填充0
>> 位右移 (100, 1)
返回x
:
0
1
00
11
00000000000000000000000000
// 50
参数1: 00
1
00
11
0000000000000000000000000
// 100
参数2:
1
0000000
000000000000000000000000
// 1
说明:
向右移动指定位数,低位丢弃,高位补零。
<< 位左移 (100, 1)
返回
x
:
000
1
00
11
000000000000000000000000
// 200
参数1: 00
1
00
11
0000000000000000000000000
// 100
参数2:
1
0000000
000000000000000000000000
// 1
说明:
向左移动指定位数低位补零,高位溢出丢弃。
^
位异或 (100, 1)
返回
x
:
1
0
1
00
11
0000000000000000000000000
// 101
参数1: 00
1
00
11
0000000000000000000000000
// 100
参数2:
1
0000000
000000000000000000000000
// 1
说明: 位值相同则填充0,不同则填充1
作者:
2oon
时间:
7 天前
谢谢分享!涨知识了
作者:
2767944492
时间:
7 天前
感谢科普
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4