困っています
Posted: 2012年2月22日(水) 21:30
問題をそのまま書くんで出来れば今日中に教えてください・・・
2進数10110001-2進数00101110の計算を2の補数を利用して計算する
という問題です。全く出来なくて困っています、助けてください
2進数10110001-2進数00101110の計算を2の補数を利用して計算する
という問題です。全く出来なくて困っています、助けてください
#include <iostream>
#include <bitset>
#include <string>
int main()
{
std::string a("10110001"), b("00101110");
unsigned long t = std::bitset<8>(a).to_ulong() - std::bitset<8>(b).to_ulong();
std::cout << " " << a << std::endl;
std::cout << "-)" << b << std::endl;
std::cout << "----------" << std::endl;
std::cout << " " << std::bitset<8>(t) << std::endl;
}
では、もう少しわかりやすく...ハヤテ さんが書きました:2の補数さえ出来ればできるんです。
もう、ここ以外はやったので補数の部分を教えてください・・・
#include <iostream>
#include <bitset>
#include <string>
int main()
{
std::string a("10110001"), b("00101110");
unsigned long t = std::bitset<8>(a).to_ulong() + -std::bitset<8>(b).to_ulong();
std::cout << " " << a << std::endl;
std::cout << "-)" << b << std::endl;
std::cout << "----------" << std::endl;
std::cout << " " << std::bitset<8>(t) << std::endl;
}