#include
int saturating_add(int x,int y)
{
int sum = x + y;
int w = sizeof(int) <> (w - 1); // 取出x的符号位
int y_sign = y >> (w - 1); // 取出y的符号位
int sum_sign = sum >> (w - 1...
分类:
移动开发 时间:
2014-12-10 14:13:56
阅读次数:
250
7句真言1,二进制最高位是符号位 0正数 1负数2,正数的原码,反码,补码都一样3负数的原码反码补码(符号位不变,其他的位数取反 0->1 1->0)4 0的反码补码都是05java中没有无符号数,换句话说,java中的数都是有符号的6计算机运算的时候,都是以补码的方式来运算的7,负数的补码= 他的...
分类:
编程语言 时间:
2014-12-07 06:31:42
阅读次数:
185
文章转自:http://www.cnblogs.com/tekson/archive/2009/07/16/1524604.html1.范围:float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:float:1bit(符号位)8bi...
分类:
其他好文 时间:
2014-12-06 12:46:43
阅读次数:
127
问题描述: 请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。 思路分析: 简单的立马想到将次数右移,只要与1相与的话就能算出个数了,但是位移负数时左边为了保持符号位会 补一,例如将1101右移以为会变成1110.这样就会造成死循环。 下面有两种可行的方法: 1、我们可以不右移输入的数组n...
分类:
其他好文 时间:
2014-12-03 18:39:12
阅读次数:
147
1值类型1.1 整数类型sbyte 有符号8位整数byte 无符号8位整数short 有符号16位整数ushort 无符号16位整数int 有符号32位整数uint 无符号32位整数long 有符号64位整数ulong 无符号64位整数1.2 字符类型包括单个字母、数字、标点符号,其它控制字符表示字...
A.类型说明符(只能修饰int)short int: = short 2字节long int: long 8字节 = long 输出占位符 %ldsigned int: = signed 默认 带符号位unsigned int := unsigned 去除符号位,用以存放数值long long i....
分类:
编程语言 时间:
2014-11-24 18:42:55
阅读次数:
172
1. >> 按位右移运算符result = expression1 >> expression2 右移表达式的位,保持符号不变。>> 运算符将expression1的位右移expression2中指定的位数。用expression1的符号位(1负0正)填充右移后左边空出来的位。右移的位被丢弃。例如,...
分类:
编程语言 时间:
2014-11-22 13:13:17
阅读次数:
202
1范围float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:float:1bit(符号位)8bits(指数位)23bits(尾数位)double:1bit(符号位)11bits(指数位)52bits(尾数位)于是,float的指数范...
分类:
其他好文 时间:
2014-11-18 23:52:18
阅读次数:
145
Java 位运算之美。
Java 的<> 都是带符号移位。在不溢出的情况下,相当于乘以或除以2.在溢出的情况下,也就是符号位被移出,此时就会发生正数变负数,负数变正数的错误情况。...
分类:
其他好文 时间:
2014-10-31 15:50:07
阅读次数:
147
要考虑的东西实在也挺多的。总结如下:1 前面空格分隔符号的时候2 第一个符号位处理+ -3 遇到非数字字符退出4 为正数的时候,大于INT_MAX上溢5 为负数的时候, 小于INT_MIN下溢6 为空字符串或者空指针的时候 1 int atoi(const char *str) 2 {...
分类:
其他好文 时间:
2014-10-29 23:39:06
阅读次数:
444