我有一个int(16位)数组:{10,-20,30,-40}我想:
表示:
32 bit un-signed : 131052
32 bit negative Number positive : -20
答案 0 :(得分:0)
根本不清楚你究竟在追求什么。三个明显的可能性看起来像这样:
#include <iostream>
#include <numeric>
int main() {
short array[] = {10, -20, 30, -40};
std::cout << std::accumulate(array, array+4, (unsigned short)0) << "\n";
std::cout << std::accumulate(array, array+4, 0U) << "\n";
std::cout << std::accumulate(array, array+4, (short)0) << "\n";
return 0;
}
我不确定你认为你怎么能得到131052的结果 - 这不是你从16位或32位总和得到的。