无符号类型赋值负数,以及求绝对值
Posted 郭志凯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无符号类型赋值负数,以及求绝对值相关的知识,希望对你有一定的参考价值。
#include <iostream> #include <cmath> int main() { unsigned char i = 0 ; i = -1 ; std::cout<<"i="<<(int)i<<std::endl; i = -2 ; std::cout<<"i="<<(int)i<<std::endl; i = -3 ; std::cout<<"i="<<(int)i<<std::endl; i = 256 ; std::cout<<"i="<<(int)i<<std::endl; i = 257 ; std::cout<<"i="<<(int)i<<std::endl; i = 258 ; std::cout<<"i="<<(int)i<<std::endl; std::cout<<"---------------------------"<<std::endl; std::cout<<(int)std::abs(-100)<<std::endl; std::cout<<std::abs(-100.0)<<std::endl; std::cout<<std::abs(-100.0D)<<std::endl; return 0; }
具体原理涉及原码->反码->补码
求绝对值函数abs()有几个重载,传入int,返回值不是int,需要强制转换
以上是关于无符号类型赋值负数,以及求绝对值的主要内容,如果未能解决你的问题,请参考以下文章
偶然在博客中见对百度一个面试题的探讨,写些自己的看法以及指出探讨中不对的观点:百度面试题:求绝对值最小的数 有一个已经排序的数组(升序),数组中可能有正数负数或0,求数组中元素的绝对值最小的(