导航:首页 > 编程语言 > python数组取反

python数组取反

发布时间:2024-12-15 00:53:23

1. python按位取反9为什么会得到-10计算步骤是什么啊

~9的计算步骤:

转二进制:0 1001

计算补码:0 1001

按位取反:1 0110

转为原码:1 0110

按位取反:1 1001 反码

末位加一:1 1010 补码

符号位为1是负数,即-10

规律:~x=-(x+1);

因此,t=~9(1001)并不能输出6(0110),而是-10;

2. 请问python中为什么~True等于-2另外除了~还有没有其他取反操作符

去反是按位去反?那只有这个符号“~”

True是一个bit,bool型,按位去反会扩展成int型,True的默认值是1即0x0000_0001( 假设int为32位)
所以~True为0xffff_fffe, 也就是-2 ( 补码-2)

如果不是按位去反的操作可以直接用not, not True

3. python 位操作 取反问题

python 3的整型以16bit递增。

0xf0 =0b 0000 0000 1111 0000

~0xf0之后得到1111 11110000 1111

[1][111 11110000 1111]

确定是负数,有负数等于绝对值反码加一。求补码形式。

绝对值减1得:111 11110000 1110

反码得:000 0000 1111 0001

得-0xf1即-241(你那的~a[0]得-241)


要求得到[0,256),限定一下范围即可。

>>>(~a[0])&0xff
15

4. python取反运算

取反运算符原理简述如下:

以3为例,取反运算过程如下:

1. 将3转化为4位二进制:3→0011

2. 对二进制结果进行取反操作:0011→1100

3. 对取反结果加1:1100→(~1100+1)→0011+1→0100

4. 对符号进行取反并转换为十进制:-0100→-4

再以-4为例,取反过程如下:

1. 将4转化为二进制:4→0100

2. 对二进制结果取反:0100→1011

3. 对取反结果加1再取反:1011→~(1011+1)→~1100→0011

4. 对符号取反并转换为十进制:+0011→3

从上述结果可以看出,取反运算结果为:原数+1后再取相反数。

阅读全文

与python数组取反相关的资料

热点内容
外贸建站云服务器哪家好 浏览:396
服务器如何使用uefi引导 浏览:547
网站建设论文php 浏览:68
软件编译仿真 浏览:433
购买软件能加密吗 浏览:3
发泡pdf 浏览:59
服务器双网卡绑定交换机如何配置 浏览:444
java静态方法的重写 浏览:938
哪里有超全的漫画app 浏览:924
基于单片机的全自动洗衣机控制系统 浏览:462
单片机点阵视频教程 浏览:982
压缩面膜怎么选择 浏览:807
基于命令的标准acl配置实例 浏览:76
第一现场车机怎么下载其他app 浏览:906
中兴路由3s命令 浏览:82
为什么显示加密模块未打开 浏览:143
DES指的是对称加密技术 浏览:264
开封哪里有短视频app平台 浏览:827
iphone缓存app里的电影在哪里 浏览:976
纯色文件夹怎么创建 浏览:1