0X01

您所在的位置:网站首页 二进制0x1是多少 0X01

0X01

2024-07-15 20:24| 来源: 网络整理| 查看: 265

一:

“与”运算 : &;

“或”运算 : |;

“非”运算 : ~;

“异或”运算:^;

二:补码

(1)32位无符号整数:unsigned int ; 0 ~ 4294967295;

(2)32位有符号整数:int; -2147483648 ~ 2147483647;在计算机用一个数的最高位存放符号, 正数为0, 负数为1.

比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。

 

具体请见:

https://blog.csdn.net/zl10086111/article/details/80907428?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164983986716780269813706%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164983986716780269813706&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-80907428.142^v7^control,157^v4^control&utm_term=%E8%A1%A5%E7%A0%81&spm=1018.2226.3001.4187s

三:移位运算;

(1)左移:

把左移运算符()左边的运算数的各二进制位全部右移若干位,移动的位数由右移运算符右边的数指定;

对于有符号数,在右移时,符号位将随同移动:

当有符号数为正数时,最高位补0

当有符号数为负数时,最高位也就是符号位为1,最高位补0或者补1,取决于编译系统。(很多系统规定为补1)。

通俗理解:

左移将原数乘以2右移将原数除以2

举例:

a. 原数: 100 整型是4字节32位,将100以整型的二进制表示 二进制: 00000000 00000000 00000000 01100100

100 >> 2 二进制: 00000000 00000000 00000000 00011001 | 00 解释: | 后面被剔除,前面缺少的两个补0 结果: 25 右移两位相当于除以2,再除以2,结果为25

100 1运算可以舍去最低位。

AC代码:

​ #include using namespace std; typedef long long LL; int main() { long long a, b, p; cin >> a >> b >> p; long long ans = 1 % p; for(; b ; b >>= 1) { if(b & 1) ans = ans * a % p; a = a * a % p; } cout > a[i][j]; } } memset(f, 0x3f, sizeof f); f[1][0] = 0; //终点是j for(int i = 1; i < 1 > j & 1) { for(int k = 0; k < n; k ++ )/*上一种情况,又因为 j 只能恰好经过一次,所以一定是刚刚经过的,所以在上一时刻“被经过点的状态”对应的二进制的第 j 为应该赋值为 0 ,即 i ^ (1 k & 1) { f[i][j] = min(f[i][j], f[i ^ 1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3