#P1165. 负二转十

负二转十

题目描述

除了二进制,−2-2 也可以作为进制的基数,我们称这种新的表示方法为负二进制。

负二进制以 −2-2 作为基数,从最低位开始,每位的权重依次为 1,−2, 4,−8,16,…1,-2,~4,-8,16,\dots,例如:

(111)−2=(−2)2+(−2)1+(−2)0=3(111)_{-2}=(-2)^2+(-2)^1+(-2)^0=3 (1011)−2=(−2)3+(−2)1+(−2)0=−9(1011)_{-2}=(-2)^3+(-2)^1+(-2)^0=-9 (11010)−2=(−2)4+(−2)3+(−2)1=6(11010)_{-2}=(-2)^4+(-2)^3+(-2)^1=6

给定个负二进制整数 nn,请把输出它的十进制表示。

输入格式

  • 单个整数:表示 NN 的负二进制。

输出格式

  • 单个字符串:表示 NN 的十进制表示。
11010
6
1011
-9

数据范围

设 ∣N∣|N| 表示输入数据的字符长度,则

  • 对 50%50\% 的数据,1≤∣N∣≤101\leq |N|\leq 10
  • 对 100%100\% 的数据,1≤∣N∣≤301\leq |N|\leq 30