有关python 中有符号数 以及 ~1= -2 问题

原创 2016年08月30日 17:13:14

今天写了示例小程序

print  'a\tb\ta&b\ta|b\ta^b\t~a\t'
for a in range(2):
  for b in range(2):
    print  '%d\t%d\t%d\t%d\t%d\t%d\t'%(a,b,a&b,a|b,a^b,~a)


然后输出了下,顿时感觉有斯巴达了,注意~a 这个列

a	b	a&b	a|b	a^b	~a	
0	0	0	0	0	-1	
0	1	0	1	1	-1	
1	0	0	1	1	-2	
1	1	1	1	0	-2	

完全不符合人类思维惯性啊

查了下相关站点,总算回忆起大学课程的那些补码啊 ,有符号数什么.

原来python默认的是有符号表示数 1的二进制表示就是00000000  取反之后就是11111111         

符号位从0变成了1,成了一个负数   

补码表示真值的方式:除符号位之外的各位取反后加1。11111111除符号位取反后的值为10000000,再加1,便得到10000001,转换成十进制,便是-1    

依次类推 ~1=-2 ,~2= -3.... ~n= -(n+1)



版权声明:知识分享,欢迎疯传.道德约束,请注明出处.

有符号整数、无符号整数的转换以及小数据转换为大数据

1.有符号转换为无符号的整数的规则: unsigned int MySystem::T2U(int x) { if (x >= 0) { return x; } return UINT_...

python 字符串与二进制串之间的转化

最近学习密码学,经常要在二进制位上操作,加完密以后又要把二进制串转化回去,还要中英文兼顾,就只好用’utf-8’了,’utf-8’转化为二进制串是很容易的事情,但是二进制串转回去就有点麻烦了,因为解码...

【Python.基础】特殊符号

和C/C++,Java等语言相比,有些符号在Python中有特殊定义,在这里列一下。 _ : 最后一个表达式的值 例子: [python] view plai...

有符号数和无符号数的转换及思考

1 有符号数和无符号数的表示三者的最高位均为符号位.我以前一直没弄明白的是为何8位补码的表示范围是-128~127, 今天查阅了相关资料,于此记下。仍然以8位为例:原码原码的表示范围-127~-0,...
  • gatieme
  • gatieme
  • 2016年09月16日 21:00
  • 3336

Python格式化字符 %s %d %f

格式 描述 %% 百分号标记 #就是输出一个% %c 字符及其ASCII码 %s 字符串 %d 有符号整数(十进制) %u 无符号整数(十进制) %o 无符号整数(八进制) %x 无符号整数(十六进制...

《深入理解Linux网络技术内幕》阅读笔记(十六)

当copied被设定时,若封包需要分段,IP层就必须把该选项拷贝至每个片段。class会根据四条准则对此选项分类;这些字段可根据IP选项过滤封包,或者把不同的Qos参数施加至这些封包。 不含选项的I...

Linux netfilter 学习笔记 之一 HOOK机制的分析与应用

ddddd

关于java中有符号数转换成无符号数的相关问题

首先,要涉及到编码问题,需要了解到  原码  补码   反码 的概念 ————————————————————我是分割线———————————————— 在探求为何机器要使用补码之前, 让我们...

【1】ptr = malloc(0*sizeof(char))【2】关于typedef的用法总结【3】关于有符号数、无符号数和数据类型的总结 .

ptr = malloc(0*sizeof(char));(转载) 最近,看了有关malloc(0)的返回值以及其他一些问题的讨论,我把自己的感受和看法记录如下: 问题...

【1】ptr = malloc(0*sizeof(char))【2】关于typedef的用法总结【3】关于有符号数、无符号数和数据类型的总结

ptr = malloc(0*sizeof(char));(转载) 最近,看了有关malloc(0)的返回值以及其他一些问题的讨论,我把自己的感受和看法记录如下: 问题...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:有关python 中有符号数 以及 ~1= -2 问题
举报原因:
原因补充:

(最多只允许输入30个字)