給定乙個數將其轉換為二進位制(均用字串表示),如果這個數的小數部分不能在 32 個字元之內來精確地表示,則返回 「error」。
樣例:
n = 「3.72」, 返回 「error」.
n = 「3.5」, 返回 「11.1」.
#ifndef c180_h
#define c180_h
#include
#include
using namespace std;
class
solution
}string integer = n.substr(0,pos);
string decimal = n.substr(pos + 1, len - 1 - pos);
int size = decimal.size();
long
long intnum = stoll(integer);
long
long decnum = stoll(decimal);
double num = decnum;
for (int j = 1; j <= size; ++j)
intcount = 0;
string sum;
while (num != 0)
else
}if (count > 32)
return
"error";
else
reverse(str.begin(), str.end());
if (sum.empty())
return
str;
return
str + "." + sum;}}
};#endif
LintCode 二進位制表示
給定乙個數將其轉換為二進位制 均用字串表示 如果這個數的小數部分不能在 32 個字元之內來精確地表示,則返回 error 樣例 n 3.72 返回 error n 3.5 返回 11.1 題目很簡單,直接上 吧 public class binaryrepresention return res.r...
LintCode 二進位制表示
給定乙個數將其轉換為二進位制 均用字串表示 如果這個數的小數部分不能在 32 個字元之內來精確地表示,則返回 error 您在真實的面試中是否遇到過這個題?yes 樣例n 3.72 返回 error n 3.5 返回 11.1 好久沒做題 有點懵逼 根據資料試出來的 臥槽 public class ...
負數二進位制表示
負數在計算機中用補碼表示。這是教科書上到表示,由於時間久遠,又由於上課沒好好學,以至於補碼是啥,在心中沒留下任何到痕跡,補習一下。原碼 整數在記憶體中用原碼表示,即按絕對值大小轉換成二進位制 如 b 00000101 b 是 b 5 b 到二進位制表示 反碼 將二進位制數按位取反,所得的新二進位制數...