flag寄存器: ZF=1表示计算结果为0,反之 PF = 0表示计算结果二进制表示中1的个数为奇数,反之 SF = 0表示计算结果为正,反之 CF为1,在加法中表明结果出现仅为,在减法中表明结果出现借位,反之 OF = 1表示计算结果溢出,反之 对于无符号数,CPU用CF位记录计算结果是否产生进位 ...
分类:
其他好文 时间:
2017-08-06 22:56:46
阅读次数:
169
今天学到的 30页~49页。 1.算术类型的选择,一般只用int,double。超出int则用long long,而不用long。浮点型用double而不用float,二者计算成本差别不大。 2.相加前先把i转化为无符号数。如果int占32位。则i mod 2的32次方,即-42 mod 42949 ...
分类:
编程语言 时间:
2017-08-04 10:11:37
阅读次数:
133
80X86寄存器组图 标志寄存器相关说明 运算结果特征标志(用于记录程序中运行结果的特征) CF(Carry Flag):进位标志,记录运算结果的最高位向前产生的进位或借位。可用于检测无符号数二进制加减法运算时是否发生溢出(溢出时CF=1)。 PF(Parity Flag):奇偶标志,记录运算结果最 ...
分类:
编程语言 时间:
2017-07-03 22:31:25
阅读次数:
170
1.二进制的最高位是符号位,0表示正数,1表示负数2.正数的原码、反码、补码都一样3.负数的反码=它原码符号位不变,其他位取反(0->1,1->0)4.负数的补码=它的反码+15.0的反码、补码、都是06.php没有无符号数,就是说php中的都是有符号的7.在计算机运算的时候都是以补码的方式来运行的 ...
分类:
其他好文 时间:
2017-07-01 21:41:30
阅读次数:
131
先举两个例子 可以发现 左位移会乘以相应的数 而 右位移会除以相应的数 如果得出浮点数,舍掉小数位,只取整数,位移运算其实是对二进制数的操作 位移运算符 << 位左移 左移运算的实质是将对应的数据的二进制值逐位左移若干位,并在空出的位置上填0,最高位溢出并舍弃。例 如$a=10;$b=$a<<2;则 ...
分类:
Web程序 时间:
2017-06-26 11:32:45
阅读次数:
254
原版出处:http://bbs.csdn.net/topics/340253678 C语言中提供了很多整数类型(整型),主要区别在于它们取值范围的大小。int代表有符号的整数,也就是说,用int声明的变量可以是正数也可以是负数,也可以是零,但是只能是整数。比如:int a = 3; int b = ...
分类:
其他好文 时间:
2017-06-22 10:14:04
阅读次数:
142
基础概念 位与&、位或|、位取反~、位异或^ (位操作都是按位操作的) 逻辑与&&、逻辑或||、逻辑取反! (逻辑操作是整体操作的) 左移位<< 、右移位>>C语言的移位要取决于数据类型。对于无符号数,左移时右侧补0, 右移时左侧补0对于有符号数,左移时右侧补0,右移时左侧补符号位。 为什么要学习位 ...
分类:
其他好文 时间:
2017-06-04 18:24:04
阅读次数:
190
一、运算结果标志位 1、进位标志CF(Carry Flag) 进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。 使用该标志位的情况有:多字(字节)数的加减运算,无符号数的大小比较运算,移位操作,字(字节)之间移位,专门改变CF值 ...
分类:
其他好文 时间:
2017-06-02 09:44:36
阅读次数:
292
方法1 java.lang包里integer类下有一个方法 toBinaryString 如果参数为负,该无符号整数值为参数加上 232;否则等于该参数。将该值转换为二进制(基数 2)形式的无前导 0 的 ASCII 数字字符串。如果无符号数的大小为零,则用一个零字符 '0' (’\u0030’) ...
分类:
其他好文 时间:
2017-05-02 22:17:10
阅读次数:
252
那对于java的数据类型,我们就只有有符号的数据类型了,如short 的表示范围 -128到+127,这就是代表有符号的数据类型了。 java没有无符号类型,都是有符号类型的数据类型。但是其它语言,如c的unsigned short 无符号数,它值的范围就是要从0开始,并且比java的short类型 ...
分类:
编程语言 时间:
2017-04-12 13:40:32
阅读次数:
427