有关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笔记——基本语法:标识符、数据类型、变量、运算符及表达式/编码风格

Python笔记——基本语法 标识符、数据类型、变量、运算符及表达式/编码风格
  • wklken
  • wklken
  • 2011-04-09 10:17
  • 14028

python 字符串和整数的转换

数字转成字符串 方法一: 使用格式化字符串: tt=322 tem='%d' %tt tem即为tt转换成的字符串 常用的格式化字符串: %d            整数 %f%F   ...

【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)的返回值以及其他一些问题的讨论,我把自己的感受和看法记录如下: 问题...

有符号数和无符号数相互转换问题

备份自 http://www.cnblogs.com/wang-jingke/p/4186094.html 平时工作中有符号数用的少,昨天同事在现场更改代码需要用到有符号数,发回家里后一下子我也...

有符号数与无符号数之间运算问题

以下实验均在virual c++6中运行通过 这个问题测试是否懂得C语言中的整数自动转换原则,有些开发者懂得极少这些东西。 当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号...

verilog 有符号数

(1)在FPGA综合成电路的时候最底层都是以补码的形式在运算,正数的补码就是本身,负数的补码要取反+1。 (2)编译器高的版本都支持verilog有符号运算的综合了。在定义时直接加上signed即可...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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