二進位制表示 LintCode

2021-08-07 08:55:39 字數 890 閱讀 1258

給定乙個數將其轉換為二進位制(均用字串表示),如果這個數的小數部分不能在 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 到二進位制表示 反碼 將二進位制數按位取反,所得的新二進位制數...